1
나는 다음과 같은 SQL 문이 :복잡한 절 추진에 가입 1.6
SELECT * FROM image
LEFT JOIN history
ON (image.id = history.image_id
AND history.user_id = 1
WHERE active = 1
쿼리의 목적은 이미지 테이블의 모든 레코드를 찾을 수 있습니다
(플래그 '활성')와 만 현재 사용자를 참조하는 기록 테이블의 레코드 테이블 사이에 n-to-m 관계가 있고 거기에는 동일한 image_id가 있지만 다른 user_id가있는 레코드가있을 수 있습니다. 나는이 기록이 포함되기를 원하지 않는다. 나는 그것이 추진 1.6을 사용하여 구현하기 위해 노력하고
그래서 코드는 다음과 같이해야한다 생각 :
ImageQuery::create()
->filterByActive(1)
->leftJoinHistory('History.Image')
->addJoinCondition('History.Image', 'History.user_id = ?', 1)
->find();
하지만
실패절에 매개 변수에 결합 할 수있는 열을 확인할 수 없습니다 'History.user_id =?'
어디에 문제가 있습니까?
도움이되었습니다. J0k, 고마워! – Pepe