2012-06-26 5 views

답변

7

당신은 use 방법을 사용해야합니다 : 당신이 사용 join()에있는 경우

$results = FooQuery::create() 
    ->useBarQuery() 
    ->filterBySurname('surname') 
    ->endUse() 
    ->find(); 

// example Query generated for a MySQL database 
$query = 'SELECT foo.* from foo 
INNER JOIN bar ON foo.BAR_ID = bar.ID 
WHERE bar.SURNAME = :p1'; // :p1 => 'surname' 

을, 당신이 filterByXXX 방법을 사용할 수 있다고 생각하지 않습니다 만 구 where :

$results = FooQuery::create() 
    ->join('Foo.Bar') 
    ->where('Bar.surname = ?', 'surname') 
    ->find(); 
+0

간단한 질문입니다. 만약 당신이 그 메소드를 호출 할 수없고'join()'을 사용해야한다면? – Tower

+1

그렇다면'filterByXXX' 대신에'where'를 사용하여 옛 방식을 사용해야 할 것입니다. – j0k

+0

스키마 테이블에서 관련 테이블을 잘못 이해하지 않은 이상 테이블 쿼리 개체를 사용할 수없는 시간이 없어야합니다. 사용 문을 계단식으로 연결하여 이러한 쿼리 개체를 깊이있게 사용할 수 있습니다. –

관련 문제