“ЯВЛЯЕТСЯ ПУСТЫМ” в выборе Zend_Db_Table не работа

Я пытаюсь сделать соединение на 2 таблицах на Пехлеви, с помощью DbTable / модель / структура картопостроителя. Если в моем картопостроителе я делаю это:

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

это работает как очарование, но если я пробую то же самое, ЯВЛЯЕТСЯ ПУСТЫМ вместо NOT NULL, я ничего не получаю, где я должен получить набор результатов нескольких строк, точно так же, как когда я пробую его непосредственно в MySQL с

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

Я добираюсь, Зенду впечатления не нравится, мой ЯВЛЯЕТСЯ ПУСТЫМ, или я делаю что-то не так?

6
задан David Snabel-Caunt 10 March 2010 в 20:00
поделиться

2 ответа

Die Lösung war im Kommentar von Machine zu meinem ursprünglichen Beitrag zu finden. Als ich das tat, was er vorschlug, bemerkte ich, dass Zend einen inneren Join erstellte, da ich die falsche Auswahlmethode verwendete, also:

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

ist, wie es sein sollte.

13
ответ дан 8 December 2019 в 16:01
поделиться

Я думаю, что это должно делать так, как MySql определяет, что является NULL, а что нет. Возможно ли, что ожидаемые результаты имеют присвоение по умолчанию пустой строки '' или 0 в столбце images.ref ? MySql не рассматривает их как NULL. Посмотрите здесь:

http://dev.mysql.com/doc/refman/4.1/en/working-with-null.html

2
ответ дан 8 December 2019 в 16:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: