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.

Respostas:


4

Você também pode tentar:

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

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']);

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.