2012-08-10 97 views
1

我一遍又一遍地嘗試使用Zend_Db_Select對象複製我的MySQL查詢,並且我無法在Zend中複製結果。使用Zend_Db_Select複製MySQL LEFT OUTER JOIN

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 

我在Zend的:

$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一個空行中的Zend,並直接在正確的行中MySQL的。

回答

1

已解決。我找到了解決方案here

顯然我在leftJoin中省略了第三個參數,在這個例子中是一個空數組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');