2011-02-01 31 views
1

主義文檔解釋說,爲了增加學說記錄過濾器,你必須unshiftFilter(),以表定義設置()方法:如何在symfony的schema.yml中定義教義記錄過濾器?

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

在symfony中的情況下應該去基類(即/ lib目錄/ model/doctrine/base/BaseArticle.class.php),但是當symfony在每次重建模式時都會覆蓋基類 - 我應該如何定義該過濾器,以便在運行doctrine:build命令後出現在那裏?我無法在doc或internet中找到關於schema.yml中的定義的任何參考。

謝謝。

回答

0

我們使用的原則1.2.4。似乎沒有yaml-schema相當於

0

正如您所瞭解的,絕不會對自動生成的基類類進行任何更改。你的改變只會被抹去。

相反,你會發現擴展你的基類的子類。 Symfony/Doctrine在創建後不會觸及那些(除symfony doctrine:clean-model-files之外)。在你的情況,查找:

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

表格過濾器是不同的路徑上類似定義:

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

感謝您的快速回答。我對此很清楚。試圖將設置功能添加到Article.class.php: public function setUp(){ \t \t parent :: setUp(); $ this-> unshiftFilter(new MyDoctrineRecordFilter());致命錯誤:調用成員函數evictAll()在C:\ projects \ myproject \ lib \ vendor \ symfony \ lib \ plugins \ sfDoctrinePlugin \ lib \ vendor \ doctrine \ Doctrine \ Connection.php on line 1239. 請注意,MyDoctrineRecordFilter不是formfilter,而是doctrine記錄過濾器(擴展Doctrine_Record_Filter)。 – dsomnus 2011-02-01 18:15:41