Obter propriedades do modelo (coluna DB)
-
11-12-2019 - |
Pergunta
É possível obter uma lista das colunas da tabela relacionadas a um modelo?
Solução
É possível usar o describeTable()
método.
Portanto, seu modelo de recursos, você pode criar uma função como a seguinte, isso retornará um array de campos para a tabela principal:
public function getFields()
{
$fields = $this->_getWriteAdapter()->describeTable($this->getMainTable());
return $fields;
}
Outras dicas
Para quem está lutando com isso no Magento 2:
No seu costume classe de modelo de recursos, adicione esta função:
public function getFields()
{
$fields = $this->getConnection()->describeTable($this->getMainTable());
return $fields;
}
E em algum lugar você precisa pegar todas as colunas de uma tabela (todos os campos do objeto):
$objectModel = $this->objectFactory->create(); // I prefer using dependency injection
$keys = array_keys($objectModel->getResource()->getFields());
P/S:Obrigado @Fra pela ótima pergunta de auto-resposta.Isso economizou muito do meu tempo.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange