Magento 2: Selecionar campo da consulta de coleção

8

Eu tenho consulta abaixo. Quero selecionar apenas 1 campo da tabela em vez de todos.

$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;

Eu quero selecionar apenas o idcampo da tabela.

Ankit Shah
fonte

Respostas:

4

Você também pode tentar:

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

Você precisa redefinir todas as colunas primeiro e depois selecionar uma coluna específica. Tente da seguinte maneira:

$ collection-> getSelect ()
            -> redefinir (\ Zend_Db_Select :: COLUMNS)
            -> colunas (['id']);
Sohel Rana
fonte
Este funcionou. Obrigado!
Amrit Pal Singh
0

Use esta consulta.

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

em que detail é o alias do nome da tabela e recomendado é o nome de col

sudo55
fonte