2011-05-16 4 views
1

나는 ImportBundle이라는 테이블/클래스를 가지고 있습니다. ImportBundle 나는 내 데이터베이스에있는 모든 ImportBundle의를 표시하는 선택 필드가 내 관리자 페이지 중 하나에 1 또는 0symfony 관리 필터 옵션을 변경하는 방법

로 설정할 수있는 active 플래그를 가지고있다. 나는 단지 활동적인 것을보고 싶습니다.

어떻게 변경하나요?

+0

이 모델 양식 또는 필터 형태의 당신의 선택 필드 부분인가? (그것을 무시하고 질문에 _filter_을 발견하지 못했습니다) – Dziamid

답변

0

선택 필드가 sfWidgetFormDoctrineChoice이면 table_method 옵션을 설정해야합니다.

예를 들어

, 당신의 관련에 다 대다 관계를 가진 모델이있는 경우 :

class ModelFormFilter extends BaseModelFormFilter 
{ 
    public function configure() 
    { 
    $this->getWidget('related_list')->setOption('table_method', 'getActive'); 
    } 
} 

class RelatedTable extends Doctrine_Table 
{ 
    public function getActive() 
    { 
    return $this->createQuery('r') 
     ->where('r.is_active = ?', true) 
     ->execute(); 
    } 
} 
+0

그건 내가 원했던 그대로였다. 감사. –

1

기본 활성 값을 변경하거나, 활성 필드를 제거하거나, 기본 쿼리를 변경 하시겠습니까?

설정 기본

은 추가 getFilterDefaults 방법 ImportBundleGeneratorConfiguration에 :

public function getFilterDefaults() 
{ 
    return array('active' => true); 
} 

ImportBundleFormFilter에서 필터에서 필드

어느 해제 현장을 제거하거나 display 옵션을 변경 filter generator.yml 제목 아래에 있습니다. ImportBundleFormFilter이 다른 곳에서 사용되는 경우 필드를 확장하여 필드를 설정 해제해야 할 수 있습니다.

쿼리 generator.yml 또는 필터 자체에 table_method 옵션을 설정

을 변경합니다. 자세한 지침은 here을 참조하십시오.

+0

사실 어떤 종류의 기본 필터링 기준을 설정하거나 필터 필드를 제거하려고하지 않습니다. 나는 필드 중 하나에 표시된 * options *을 변경하려고 시도하고 있으므로 importBundle's은'import_bundle.active = 1' 만 볼 수 있습니다. (선택 필드를 어수선하게하는 비활성 가져 오기 묶음이 많이 있습니다.) –

+0

해당 답변도 추가하려면 편집하십시오. –

+0

알겠습니다. 고마워요. 정말로 나 한테 철자를 써 줄래? 내가해야 할 일을 이해하는 데 어려움을 겪고 있습니다. –

관련 문제