web-dev-qa-db-fra.com

Comment puis-je sélectionner des colonnes spécifiques avec createQueryBuilder dans ORM Symfony2?

J'utilise createQueryBuilder pour construire des requêtes dans Symfony2. Mais, je ne veux pas prendre toutes les colonnes de cette entité. Comment puis-je sélectionner uniquement l'ID et le nom?

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

        $query->setMaxResults(10);
        $results = $query->getQuery()->getResult();

Merci beaucoup,

27

Essayez de suivre,

$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();
57
Mun Mun Das