DoctrineのDQLコールバック関連
via.
DoctrineのSoftDeleteが言うこと聞いてくれない。deleted_atが入ってるのに普通に表示される。
Masashi Sekine on Twitter: "DoctrineのSoftDeleteが言うこと聞いてくれない。deleted_atが入ってるのに普通に表示される。"
原因調べたらDoctrineの設定ですね。
config/ProjectConfiguration.class.phpの中に
<?php class ProjectConfiguration extends sfProjectConfiguration { # このメソッドを追加 public function configureDoctrine(Doctrine_Manager $manager) { $manager->setAttribute(Doctrine_Core::ATTR_USE_DQL_CALLBACKS, true); } }
configureDoctrine()メソッドを追加すれば動くようになります。
デフォルトでfalseなのは、
preDqlDelete() などの DQL 発行時に実行されるメソッドは、パフォーマンスを考慮してデフォルトで無効に設定されています。
symfony 1.x legacy website
こういった理由からです。