2011-02-01 12 views
1

Doctrineのドキュメントは教義レコードフィルタを追加するために、あなたは、テーブル定義をセットアップするunshiftFilter()()メソッドを持っていることを説明していますsymfonyのschema.ymlでdoctrineレコードフィルタを定義するには?

 
public function setUp(){ 
    parent::setUp(); 
    $this->unshiftFilter(new MyDoctrineRecordFilter()); 
} 

symfonyの場合には、基本クラス(に行くことになっつまり/ libに/ symfonyはスキーマを再ビルドするたびにベースクラスを上書きするので、doctrine:buildコマンドを実行した後に表示されるように、そのフィルタをどのように定義する必要がありますか?私はそれがschema.ymlの定義については、docやinternetの参照を見つけることができません。

ありがとうございました。

答えて

0

。 yaml-schemaに相当するものはありません。

0

あなたが学んだとおり、自動的に生成されるように変更することはありませんベースクラス。あなたの変更は一掃されます。

代わりに、基本クラスを拡張する子クラスがあります。 symfony/Doctrineは、一度作成されるとそれらに触れません(ただし、symfony doctrine:clean-model-filesは例外です)。あなたのケースでは、探し:

/lib/model/doctrine/Article.class.php 

フォームフィルタは異なるパスでも同様に定義されています。私たちは、教義1.2.4を使用している

/lib/filter/doctrine/base/BaseArticleFormFilter.class.php 
/lib/filter/doctrine/ArticleFormFilter.class.php 
+0

ありがとうございました。私はそれを認識しています。 Article.class.phpにsetup関数を追加しようとしました: public function setUp(){ \t \t parent :: setUp(); $ this-> unshiftFilter(new MyDoctrineRecordFilter()); } しかし、スキーマを再構築しようとするとエラーが発生します。致命的なエラー:C:\ projects \ myproject \ lib \ vendor \ symfony \ lib \ plugins \の非オブジェクトのメンバー関数evictAll() (Doctrine_Record_Filterを拡張します)。MyDoctrineRecordFilterはformfilterではなく、doctrineレコードフィルタです(Doctrine_Record_Filterを拡張します)。 – dsomnus

関連する問題