Magento 2: Seleccionar campo de consulta de colección

8

Tengo debajo consulta. Quiero seleccionar solo 1 campo de la tabla en lugar 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;

Quiero seleccionar solo el idcampo de la tabla.

Ankit Shah
fuente

Respuestas:

4

También puedes probar:

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

Primero debe restablecer todas las columnas, luego seleccionar una columna específica. Pruebe de la siguiente manera:

$ colección-> getSelect ()
            -> restablecer (\ Zend_Db_Select :: COLUMNS)
            -> columnas (['id']);
Sohel Rana
fuente
Este funcionó. ¡Gracias!
Amrit Pal Singh
0

Utiliza esta consulta.

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

donde detalle es el alias del nombre de la tabla y recomendado es el nombre de col

sudo55
fuente