如何 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();
以下是我的学说 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();