Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I select specific Columns with createQueryBuilder in Doctrine ORM?

I'm using Doctrine createQueryBuilder() to construct queries in Symfony2. But, I don't want to take all columns in this entity. How can I select only the ID and Name?

$query = $this->getEntityManager()->createQueryBuilder();         $query             ->select('d')             ->from('AcmeBundle:Demo', 'd')             ->leftjoin('d.otherEntity', 'o');          $query->setMaxResults(10);         $results = $query->getQuery()->getResult(); 

Thank you so much,

like image 898
Carlos Saez Alfonsea Avatar asked Sep 22 '12 12:09

Carlos Saez Alfonsea


1 Answers

Try following,

$fields = array('d.id', 'd.name', 'o.id'); //$fields = 'partial d.{id, name}, partial o.{id}';  //if you want to get entity object  $query = $this->getEntityManager()->createQueryBuilder(); $query     ->select($fields)     ->from('AcmeBundle:Demo', 'd')     ->leftjoin('d.otherEntity', 'o');  $query->setMaxResults(10); $results = $query->getQuery()->getResult(); 
like image 119
Mun Mun Das Avatar answered Sep 23 '22 11:09

Mun Mun Das