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.

Ankit Shah
la source

Réponses:

4

Vous pouvez également essayer:

$collection = $this->_collectionFactory->create()->addFieldToSelect('id')->addFieldToFilter('status', 0)->load();
Pankaj Bhope
la source
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']);
Sohel Rana
la source
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

sudo55
la source