Zend_Db_Table中的"IS NULL"选择不起作用

Pet*_*ter 6 mysql null zend-framework zend-db-table

我正在尝试使用DbTable/model/mapper结构在Zend中的2个表上进行连接.如果,在我的映射器中,我这样做:

$select = $this->getDbTable()->select(Zend_Db_Table::SELECT_WITH_FROM_PART)
        ->setIntegrityCheck(false)
        ->join('images', 'images.oldFilename =
                                               availablePictures.filename')
               ->where('images.ref IS NOT NULL');
$resultSet = $this->getDbTable()->fetchAll( $select );
Run Code Online (Sandbox Code Playgroud)

它就像一个魅力,但如果我用IS NULL而不是NOT NULL尝试相同的东西,我什么也得不到我应该得到几行的结果集,就像我在MySQL中直接尝试它一样

SELECT *
FROM (
`availablePictures` AS a
LEFT JOIN `images` AS i ON a.filename = i.oldFilename
)
WHERE i.`ref` IS NULL
Run Code Online (Sandbox Code Playgroud)

我得到印象Zend不喜欢我的IS NULL或我做错了什么?

Pet*_*ter 13

解决方案可以在Machine对我原帖的评论中找到.按照他的建议我注意到Zend创建了一个内连接,因为我使用了错误的select方法,所以:

$select = $this->getDbTable()->select(Zend_Db_Table::SELECT_WITH_FROM_PART)
        ->setIntegrityCheck(false)
        ->joinLeft('images', 'images.oldFilename =
                                               availablePictures.filename')
               ->where('images.ref IS NOT NULL');
$resultSet = $this->getDbTable()->fetchAll( $select );
Run Code Online (Sandbox Code Playgroud)

是应该如何.