4
我正在研究一個有三個實體的Web應用程序:User,Project和Todo。帶關聯的DQL查詢?
每個Todo都與項目有多對一的關係。 Todos也與用戶有多對多的關係。
我想要做的是檢索包含已分配給給定用戶的待辦事項的項目。
我的代碼如下。 $ ID已被設置爲我想要檢索項目
$em = $this->getDoctrine()->getEntityManager();
$projects = $em->createQuery("SELECT p FROM projects p INNER JOIN p.todos t WITH t.assigned_to = :id")
->setParameter('id', $id)
->getResult();
每當我運行此查詢我得到以下錯誤的USER_ID:
[Semantical Error] line 0, col 79 near 'assigned_to =': Error: Invalid PathExpression. StateFieldPathExpression or SingleValuedAssociationField expected.
任何思考什麼我做錯了嗎?謝謝。
我很確定WITH子句被支持。它可以在[此處]列出的一個學說示例中找到(http://www.doctrine-project.org/docs/orm/2.1/en/reference/dql-doctrine-query-language.html)。當我用一個不使用外鍵的條件(比如'WITH t.description ='Say hi'「')替換'WITH t.assigned_to =:id」'時,查詢就可以正常工作。 –
另外,我也嘗試使用WHERE子句並遇到同樣的問題。 –
@JamesKirkwood hm ...什麼是您的assigned_to的映射?這是多個值或單個值的集合嗎? – Max