Domanda

È possibile ottenere un elenco delle colonne della tabella correlate a un modello?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top