我在Doctrine 2中编写了一个DQL查询:
$qb->select('r.position')
->from('\Entities\Races', 'r')
->where($qb->expr()->eq('r.entrantId', ':entrant_id'))
->setParameter('entrant_id', $this->entrantId);
$query = $qb->getQuery();
$aRaces = $query->getResult();
目前,它在数组中返回查询结果,如下所示:
Array
(
[0] => Array
(
[position] => 10
)
[1] => Array
(
[position] => 4
)
)
我希望结果返回一个Races对象数组,以便我可以访问与该对象关联的方法(我很确定默认情况下,以前版本的Doctrine返回了对象).
我试过了:
$aRaces = $query->getResult(Query::HYDRATE_OBJECT);
但这并没有什么不同.
感谢帮助
解决方法:
您只从DB中获取位置列.尝试用select(r)替换select(‘r.position’).见DQL reference
如果需要仅具有position属性的对象,请参阅partial objects
标签:php,dql,doctrine-orm
来源: https://codeday.me/bug/20190530/1186289.html