如何在symfony的schema.yml中定义doctrine记录过滤器?

时间:2011-02-01 17:44:49

标签: php doctrine symfony-1.4 schema.yml

Doctrine文档解释说,为了添加doctrine record过滤器,你必须将unshiftFilter()转换为表定义setUp()方法:

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

在symfony的情况下应该转到基类(即/lib/model/doctrine/base/BaseArticle.class.php)但是每当我重建模式时symfony都会覆盖基类 - 我应该如何(或在哪里)定义该过滤器,以便在运行doctrine:build命令后出现在那里?我在doc或互联网上找不到关于它在schema.yml中的定义的任何参考。

感谢。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

我们正在使用学说1.2.4。似乎没有yaml-schema等价物