Я знаю, что это старый, но предоставленные решения не являются правильными для Doctrine 1.2.x
Когда вы используете такие функции, как:
Doctrine::getTable('YourClass')->findByDeleted_at(null); //he want to get NOT DELETED rows!
Doctrine выдает ошибку, которая: «Необходимо указать значение для findBy» , поскольку 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.
Надеюсь, что это кому-нибудь поможет ...