1

我一遍又一遍地尝试使用 Zend_Db_Select 对象复制我的 MySQL 查询,但我无法在 Zend 中复制结果。

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');

查询的输出在 Zend 中给了我一个空行,results在 MySQL 中直接给了我正确的行。

4

1 回答 1

3

显然我在 中遗漏了一个必需的第三个参数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');

这是Zend_Db_Select 文档

于 2012-08-10T12:56:24.713 回答