Ottieni proprietà del modello (colonna DB)
-
11-12-2019 - |
Domanda
È possibile ottenere un elenco delle colonne della tabella correlate a un modello?
Soluzione
È possibile utilizzare il metodo describeTable()
.
Quindi il modello di risorse, è possibile creare una funzione come quella seguente, questo restituirà una serie di campi per la tabella principale:
public function getFields()
{
$fields = $this->_getWriteAdapter()->describeTable($this->getMainTable());
return $fields;
}
. Altri suggerimenti
Per chi sta lottando con questo in Magento 2:
Nella tua classe di modello di risorsa personalizzata Risorsa , aggiungi questa funzione:
.
public function getFields()
{
$fields = $this->getConnection()->describeTable($this->getMainTable());
return $fields;
}
E in un posto è necessario ottenere tutte le colonne di una tabella (tutti i campi dell'oggetto):
.
$objectModel = $this->objectFactory->create(); // I prefer using dependency injection
$keys = array_keys($objectModel->getResource()->getFields());
P / S: Grazie @fra per una grande domanda di risposta personale.Ha salvato molto del mio tempo.