0
我试着做一个SELECT d.user AS user
类型的查询。但这部分似乎不允许在教义中。Doctrine SELECT d.user AS user not allowed?
我试图得到一个不错的数组如下:
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.
我已经加入加入,但似乎没有帮助。
我认为你在错误的一面考虑问题。如果你想检索一个用户,你的查询不应该在用户实体上,并且你的查询不应该在另一个实体上加入你的条件?另一个主要原因是'user'是许多SGBD中的保留关键字(不知道您使用的是哪一个),您可能需要更改别名或将其放在'quotes之间。 – Boulzy
@Boulzy,谢谢你的回复!我已经改变了别名,但这没有帮助。我带这个问题的原因是我*可以*做一个' - > select('d,...)'这样我也有用户。我只想直接选择用户,以便数据数组与我想要的一样。 – DelphiLynx