我尝试执行SELECT d.user AS user
类型的查询。但这部分似乎不允许在Doctrine中使用。
我尝试按如下方式获得一个很好的数组:
array(
'week' => 39
'year' => 2016
'user' => UserObject{}
我有以下DQL:
$qb = $this->createQueryBuilder('d')
->select("d.user AS user, WEEK(d.date, 3) AS week, DATE_FORMAT(d.date, '%x') AS year")
->join('d.user', 'u')
->orderBy('d.date', 'ASC')
->getQuery();
return $qb->getResult();
当然,我可以执行select("d, etc
但是我想直接将用户作为返回数组中的键。
我使用上面的代码得到的错误是:
[Semantical Error] line 0, col 9 near 'user AS user,': Error: Invalid PathExpression. Must be a StateFieldPathExpression.
我已经添加了联接,但似乎没有帮助。
答案 0 :(得分:1)
我不确定它会给你你想要的结果(也许你将不得不尝试Doctrine\ORM\Query::HYDRATE_ARRAY
保湿器),但这样的东西可以做到吗?
$qb = $this->createQueryBuilder('d')
->select("user, WEEK(d.date, 3) AS week, DATE_FORMAT(d.date, '%x') AS year")
->leftJoin('d.user', 'user')
->orderBy('d.date', 'ASC')
->getQuery();
return $qb->getResult();