如何 select 在 doctrine 2 查询中设置列

how to select set columns in a doctrine 2 query

以下是我的学说 2 查询。它有效。

对我来说唯一的问题是它绘制了每个 table 中的所有列:这是一个 不必要的开销

我只想 select 每个 table 中的某些列;我尝试了 select 每个 table 的几列,但查询失败了。

    $qb  =  $this->queryBuilder()
                   ->select(array('u','ph','st'))
                   ->from('BaseModel\Entity\User','u')
                   ->leftJoin('u.statementObject','st')
                   ->leftJoin('u.thePhotoObject','ph')  
      $query = $qb->getQuery();

        $users = $query->getArrayResult();

即我只想从 用户 table. select name 所以查询应该看起来像:

    $qb  =  $this->queryBuilder()
                   ->select(array('u.name','u.name','ph.photoOne','st'))
                   ->from('BaseModel\Entity\User','u')
                   ->leftJoin('u.statementObject','st')
                   ->leftJoin('u.thePhotoObject','ph')  
      $query = $qb->getQuery();

        $users = $query->getArrayResult();
 $qb = $this->queryBuilder()
           ->select('u.name, ph.photoOne')
           ->from('BaseModel\Entity\User','u')
           ->leftJoin('u.statementObject','st')
           ->leftJoin('u.thePhotoObject','ph')  
 $query = $qb->getQuery();

 $users = $query->getArrayResult();