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 );
それは魅力のように機能しますが、NOTNULLではなくISNULLで同じことを試してみると、MySQLで直接試してみる場合と同じように、複数行の結果セットを取得する必要がある場所が何も得られません。
SELECT *
FROM (
`availablePictures` AS a
LEFT JOIN `images` AS i ON a.filename = i.oldFilename
)
WHERE i.`ref` IS NULL
ZendがISNULLを気に入らないという印象を受けますか、それとも何か間違ったことをしていますか?