Obtener propiedades del modelo (columna DB)
-
11-12-2019 - |
Pregunta
¿Es posible obtener una lista de las columnas de la tabla relacionadas con un modelo?
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.