2012-08-10 2 views
1

Zend_Db_Select 객체를 사용하여 MySQL 쿼리를 반복해서 복제하려고 시도했는데 Zend에서 결과를 복제 할 수 없습니다.MySQL LEFT OUTER JOIN을 Zend_Db_Select로 복제하십시오.

MySQL의 쿼리 :

SELECT s.id, s.project_id 
FROM staging s 
LEFT OUTER JOIN results r ON s.id = r.id 
WHERE r.id IS NULL 

내가 젠드에 있습니다

$query = $db->select() 
      ->from(array('s' => 'staging'), array('id', 'project_id')) 
      ->joinLeft(array('r' => 'results'), 's.id = r.id') 
      ->where('r.id IS NULL'); 

쿼리의 출력은 젠드 나에게 results의 하나 개의 빈 행을주고, 직접 올바른 행에 MySQL.

답변

1

솔브. 솔루션 here을 찾았습니다.

분명히 나는 ​​에 필요한 제 3 매개 변수를 생략했습니다.이 경우 비어있는 배열 array()입니다.

그래서, 지금 내 마지막 작업 코드는 다음과 같습니다

$query = $db->select() 
      ->from(array('s' => 'staging'), array('id', 'project_id')) 
      ->joinLeft(array('r' => 'results'), 's.id = r.id', array()) 
      ->where('r.id IS NULL');