User, Project 및 Todo의 세 엔티티가있는 webapp에서 작업하고 있습니다.DQL 쿼리와 연관성?
모든 Todo는 Project와 다 대일 관계를 맺고 있습니다. Todos는 또한 사용자에게 다 대다 관계를 가지고 있습니다.
내가하려는 것은 주어진 사용자에게 할당 된 할 일 목록을 포함하는 프로젝트를 검색하는 것입니다.
내 코드는 다음과 같습니다. 내가 잘못 뭐하는 거지에
[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)에 나와있는 교리 예제 중 하나에서 찾을 수 있습니다. 그리고 WITH t.assigned_to = : id "를 외래 키 (예 :'WITH t.description = 'Say hi'"')를 사용하지 않는 조건으로 바꾸면 쿼리가 정상적으로 작동합니다. –
또한 WHERE 절을 사용하여 동일한 문제가 발생했습니다. –
@JamesKirkwood hm ... assigned_to의 매핑은 무엇입니까? 이것은 다중 값 또는 단일 값의 집합입니까? – Max