2012-07-27 2 views
1

schema.yml에 서로 정의 된 관계가없는 두 개의 테이블이 있습니다. 그러나 테이블 1은 테이블 2의 기본 키에 대한 외래 키 참조를 가지고 있습니다. 분명히 데이터베이스를 잘 설계하지 않아서 놀랐지 만 지금은 완화 시간입니다.Doctrine에서 지정된 관계가없는 테이블에 쿼리 결합

필자가 원하는 선택 행을 검색 할 where 절과 결합 된 두 테이블 간의 왼쪽 조인을 수행해야합니다.

Doctrine_Query::create()->select('t.*, l.lid')->from('Taxonomy t')->leftJoin('t.Cid c')  ->leftJoin('c.Lesson l')->where('t.section = ?','Critical reading'); 

것은이 그것을 일반적으로 작업을 수행해야하지만, 무엇을 반환하는 WHERE 조건에 관계없이 분류 테이블의 모든 행을하기 때문에 그렇지 않습니다 : 그리고 이렇게, 내가 할. 나는 열에 명시되지 않은 관계 때문에 이것을 생각하고 있는가? 쿼리가 작동한다는 것은 우스꽝스럽고 교리 문맥에서만 그렇지 않습니다.

덕분에 당신은 당신이 당신의 스키마에 정의 된 관계를 이용하여 가입 할 수 있습니다 교리

답변

6

, 이것은 알고 제한 사항입니다. 문제 해결 방법으로 Native SQL 기능을 사용할 수 있습니다.