Zend'de DbTable/model/mapper yapısını kullanarak 2 tabloya katılmayı deniyorum. , benim eşleştiricisindeki, bunu yaparsanız:Zend_Db_Table içinde "NULL" İşe yaramıyor. Çalışmayı seç
$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);
bir cazibe gibi çalışır, ama bunun yerine DEĞİL NULL IS NULL ile aynı şeyi denerseniz, ben bir sonuç kümesini almalısınız hiçbir şey elde Ben Zend benim IS NULL izlenim sevmez olsun
SELECT *
FROM (
`availablePictures` AS a
LEFT JOIN `images` AS i ON a.filename = i.oldFilename
)
WHERE i.`ref` IS NULL
ile MySQL doğrudan denemek veya yanlış bir şey yapıyorum zaman birkaç satır, tıpkı?
Zend_Debug :: dump ($ select -> __ toString()) dosyasını denediniz; oluşturduğu sql görmek için? Bu sql-deyimini mysql'ye yapıştırırsanız, doğru sonuçları alır mısın? Değilse, elle yazılan sürümden farklı olan nedir? – PatrikAkerstrand
Teşekkür ederim Makine! Bunu yaparak Zend'in ihtiyacım olan sol birleştirme yerine bir iç birleştirme yarattığını keşfettim. Yani -> joinLeft() kullanarak benim sorun çözüldü. – Peter