Php 如何在symfony'中定义条令记录过滤器;s schema.yml?

Php 如何在symfony'中定义条令记录过滤器;s schema.yml?,php,doctrine,symfony-1.4,schema.yml,Php,Doctrine,Symfony 1.4,Schema.yml,条令文档解释说,为了添加条令记录筛选器,您必须取消ShiftFilter()到表定义设置()方法: 公共功能设置(){ 父::设置(); $this->unshiftFilter(新的MyDoctrineRecordFilter()); } 在symfony的例子中,应该转到基类(即/lib/model/doctrine/base/BaseArticle.class.php),但由于symfony在每次重建模式时都会覆盖基类-我应该如何(或在哪里)定义过滤器,以便在运行doctrine:buil

条令文档解释说,为了添加条令记录筛选器,您必须取消ShiftFilter()到表定义设置()方法:

公共功能设置(){ 父::设置(); $this->unshiftFilter(新的MyDoctrineRecordFilter()); } 在symfony的例子中,应该转到基类(即/lib/model/doctrine/base/BaseArticle.class.php),但由于symfony在每次重建模式时都会覆盖基类-我应该如何(或在哪里)定义过滤器,以便在运行doctrine:build命令后它会出现在那里?我在doc或internet上找不到任何关于schema.yml中定义的参考


谢谢。

正如您所了解的,永远不要对自动生成的基类进行任何更改。您所做的更改将被删除

相反,您将找到扩展基类的子类。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.2.4条。似乎没有等效的yaml模式

谢谢您的快速回答。我知道这一点。试图将安装函数添加到Article.class.php:public function setup(){parent::setup();$this->unshiftFilter(new MyDoctrineRecordFilter());}但在尝试重建架构时出现错误:致命错误:调用成员函数execall()在C:\projects\myproject\lib\vendor\symfony\lib\plugins\sfDoctrinePlugin\lib\vendor\doctrine\Connection.php第1239行的非对象上。请注意,MyDoctrineRecordFilter不是formfilter,而是条令记录过滤器(扩展条令记录过滤器)。
/lib/filter/doctrine/base/BaseArticleFormFilter.class.php
/lib/filter/doctrine/ArticleFormFilter.class.php