Pregunta

¿Es posible obtener una lista de las columnas de la tabla relacionadas con un modelo?

¿Fue útil?

Solución

Es posible utilizar el describeTable() método.

Entonces, en su modelo de recursos, puede crear una función como la siguiente, que devolverá una serie de campos para la tabla principal:

public function getFields()
{
    $fields = $this->_getWriteAdapter()->describeTable($this->getMainTable());
    return $fields;
}

Otros consejos

para quien está luchando con esto en Magento 2:

En su clase personalizada Clase de modelo , agregue esta función:

public function getFields()
{
    $fields = $this->getConnection()->describeTable($this->getMainTable());
    return $fields;
}

y en algún lugar necesita para obtener todas las columnas de una tabla (todos los campos de objeto):

$objectModel = $this->objectFactory->create(); // I prefer using dependency injection
$keys = array_keys($objectModel->getResource()->getFields());

P / S: Gracias @fra para una gran pregunta de respuesta.Ahorró mucho de mi tiempo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top