Question

Est-il possible d'obtenir une liste des colonnes de la table qui sont liées à un modèle ?

Était-ce utile?

La solution

Il est possible d'utiliser la describeTable() la méthode.

Si votre modèle de ressources, vous pouvez créer une fonction, comme la suivante, ce sera le retour d'un tableau de champs de la table principale:

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

Autres conseils

Pour qui luttez avec cela à Magento 2:

Dans votre catégorie de modèle de ressource personnalisée , ajoutez cette fonction:

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

Et dans quelque part, vous devez obtenir toutes les colonnes d'une table (tous les champs d'objet):

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

p / s: merci @fra pour une grande question de réponse auto-réponse.Cela a sauvé beaucoup de mon temps.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top