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