我想知道是否有反正使用教義的魔術方法來查找空值。例如:教義findby魔法空值
Doctrine::getTable('myClass')->findByDeletedAt(null);
本質上,我想返回所有未被刪除的記錄。我已經嘗試了以上,但它似乎並沒有工作。
任何想法?
我想知道是否有反正使用教義的魔術方法來查找空值。例如:教義findby魔法空值
Doctrine::getTable('myClass')->findByDeletedAt(null);
本質上,我想返回所有未被刪除的記錄。我已經嘗試了以上,但它似乎並沒有工作。
任何想法?
其實,我想我是想要看上。這是可以做到這樣的:
Doctrine::getTable('myClass')->findBy('deleted_at',null);
我知道這是舊的,但你的第一次嘗試是不正確的。對於一個場「deleted_at」你應該一直在做這樣的:
Doctrine::getTable('YourClass')->findByDeleted_at($val);
通知我只是資本領域的「deleted_at」的第一個字母。
嘗試這給我的錯誤:
Catchable fatal error: Argument 1 passed to Doctrine\ORM\EntityRepository::findBy() must be an array, string given
所以這對我的作品:
$repository->findBy(array('date_field' => null));
好吧,OP談論主義1,你在使用主義2,所以錯誤是*正常*。 – j0k 2013-01-31 09:48:09
我看到>問10年10月5日在23:45 <有點晚了,問題仍然是最新的壽! :-D – DanFromGermany 2013-01-31 10:33:53
我知道這是舊的,但提供的解決方案是不正確的教義1.2.x的
當您使用類似功能:
Doctrine::getTable('YourClass')->findByDeleted_at(null); //he want to get NOT DELETED rows!
準則拋出錯誤:「您必須指定要查找的值」,因爲null會威脅爲未傳遞值;
->findBy('deleted_at', null)
也會引發異常。
->findBy('deleted_at','NULL')
要麼是不正確的,因爲它被翻譯成SQL:... WHERE deleted_at = 'NULL'
;對於這樣的查詢
SQL語法應該是這樣的:
... WHERE deleted_at IS NULL;
因此,解決方案是使用->findBySql()
方法:
Doctrine::getTable('YourClass')->findBySql('deleted_at IS NULL', array());
*第三個參數可能是一個Hydration_Mode。
希望能幫助別人...
我不認爲這是正確的隊友 - 它camelcases整個字符串。 – Burgi 2011-11-22 18:14:06
它不需要camel基於 – regomodo 2011-12-23 19:01:53