Magento 2: Sélectionner un champ dans la requête de collecte


8

J'ai une requête ci-dessous. Je veux sélectionner seulement 1 champ de la table au lieu de tous.

$collection = $this->_collectionFactory->addFieldToFilter('status', 0)->load();
//$collection->getSelect()->column('id');
//$collection->getSelect()->from(['main_table' => $this->getMainTable()], array('main_table.id'));
echo $collectionBallotSelect->getSelect()->__toString();
exit;

Je souhaite sélectionner uniquement le idchamp de la table.

Réponses:


4

Vous pouvez également essayer:

$collection = $this->_collectionFactory->create()->addFieldToSelect('id')->addFieldToFilter('status', 0)->load();

24

Vous devez d'abord réinitialiser toutes les colonnes, puis sélectionner une colonne spécifique. Essayez la méthode suivante:

$ collection-> getSelect ()
            -> réinitialiser (\ Zend_Db_Select :: COLUMNS)
            -> colonnes (['id']);

Celui-ci a fonctionné. Merci!
Amrit Pal Singh

0

Utilisez cette requête.

        $getTotalRecommended = $getCollection ->getSelect()
        ->reset(\Zend_Db_Select::COLUMNS)
        ->columns(['detail.recommended']);

détail est l'alias du nom de la table et recommandé est le nom de col

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.