2011-02-01 7 views
1

교리 문서는 교리 기록 필터를 추가하기 위해, 당신은 테이블 정의를 설정하려면 unshiftFilter()() 메소드가 있다고 설명 :symfony의 schema.yml에서 doctrine 레코드 필터를 정의하는 방법은 무엇입니까?

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

심포니의 경우 기본 클래스 (에 가기로되어 즉,/lib 디렉토리/model/doctrine/base/BaseArticle.class.php) symfony는 스키마를 다시 빌드 할 때마다 기본 클래스를 덮어 씁니다. doctrine을 실행 한 후에 나타나는 것처럼 필터를 정의하는 방법 (또는 어디에서) : build 명령? 나는 doc 또는 internet에서 schema.yml의 정의에 대한 어떤 참조도 찾을 수 없다.

감사합니다.

답변

0

. yaml-schema에 해당하는 것이 없습니다.

0

배운대로 변경하지 마십시오. 클래스가 자동으로 생성됩니다. 변경 사항이 사라집니다.

대신 기본 클래스를 확장하는 하위 클래스를 찾을 수 있습니다. Symfony/Doctrine은 한번 생성 된 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() sfDoctrinePlugin \ lib \ vendor \ doctrine \ Doctrine \ Connection.php 1239 행. MyDoctrineRecordFilter는 formfilter가 아니라 교리 레코드 필터 (Doctrine_Record_Filter를 확장)입니다. – dsomnus

관련 문제