私は、User、Project、Todoという3つのエンティティを持つWebアプリケーションを作成しています。DQLクエリと関連付け?
すべてのTodoは、Projectsと多対1の関係を持っています。 Todosには、ユーザーと多対多の関係もあります。
私がやっていることは、特定のユーザーに割り当てられたTodoを含むプロジェクトを取得することです。
私のコードは以下の通りです。私が間違っているのかについて
[Semantical Error] line 0, col 79 near 'assigned_to =': Error: Invalid PathExpression. StateFieldPathExpression or SingleValuedAssociationField expected.
任意の考え:$ 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に設定されていましたか?ありがとう。
私は、WITH句がサポートされていることを確信しています。これは[ここ](http://www.doctrine-project.org/docs/orm/2.1/en/reference/dql-doctrine-query-language.html)に記載されているDoctrineの例の1つにあります。そして、WITH t.assigned_to =:id "'を、(WITH t.description = 'Say hi' "などの)外部キーを使用しない条件に置き換えると、クエリは正常に動作します。 –
また、WHERE節を試してみて、同じ問題に遭遇しました。 –
@JamesKirkwood hm ... assigned_toのマッピングは何ですか?これは複数の値または単一の値の集合ですか? – Max