비슷한 질문이 있지만 silent join table 문제를 언급하지 못했습니다.SQL을 DQL (Doctrine2)으로 변환하여 테이블을 결합하십시오.
이 조인 테이블로 인해 조인을 사용하는 간단한 SQL 쿼리가 있지만이를 DQL로 변환 할 수 없습니다. ManyToMany 연관에 의해 연결된이라는 두 엔티티 Shop 및 Client가 있습니다.
Doctrine2가 자동으로 조인 테이블을 만들었습니다 : shop_client
. 이것은 정직, 정말 쉽게
SELECT c.name FROM `client` AS c
JOIN `shop_client` AS sc
ON sc.client_id = c.id
AND sc.shop_id != :shop_id
을,하지만 난 DQL 가지고 올 수 없습니다 내가 주어진 가게에 속하지 않는 모든 클라이언트를 얻으려면 지금
, 내가 할 simlpy 번역.
"EXISTS", "NOT IN", "SIZE"를 사용하려고했지만 작동하는 DQL 쿼리로 끝날 수는 없습니다.
편집 : 마이 샵 엔티티는 clients
필드를 가지고 있지만 클라이언트 엔티티는 shops
필드가 없습니다.
거의 효과가있었습니다. 나는 "IN IN"을 "NOT IN"으로 변경했고 "! = : shopId"는 "= : shopId"로 변경했습니다. 고맙습니다! 확인 됨 – Ninj