2012-09-20 5 views
0

로그인 한 사용자에 따라 SF-1.4 백엔드 모듈에서 선택 상자의 옵션을 필터링하고 싶습니다. SELECT-Box를 생성하는 SQL- 쿼리를 수정/확장 할 수있는 적절한 위치는 어디입니까?Symfony 1.4에서 backend-form-field를 생성하는 쿼리를 확장하는 방법은 무엇입니까?

+0

당신은 추진이나 교리를 사용하고 있습니까? 어떤 버전입니까? –

+0

Doctrine, symfony 버전 1.4.17을 실행하고 있습니다. – mene

+0

Symfony 1.4에 번들 된 Doctrine 버전을 사용하고 있다고 가정합니다. 내가 올바르게 기억한다면 그것은 교리 1.2입니다. –

답변

2

폼 필터 클래스의 해당 선택 상자에 대한 위젯/유효성 검사기를 덮어 씁니다. 더 많은 정보를 제공 할 수 있지만 사용중인 ORM을 알아야합니다.


sfWidgetFormDoctrineChoice 및 sfValidatorDoctrineChoice 모두 query라는 옵션이 있습니다. 그것을 사용하여 사용자 지정 쿼리를 설정하십시오. 그래서 당신은 당신이 필터 클래스에서이 같은 작업을 수행해야합니다

$query = Doctrine::getTable('Table')->createQuery()->where('field = ?', $field_value); 

$this->widgetSchema['your_form_field']->setOption('query', $query); 

$this->validatorSchema['your_form_field']->setOption('query', $query); 

`

+0

저는 Doctrine을 사용하고 있습니다. WHERE 절을 위젯 옵션을 가져 오는 질의에 추가하면됩니다. 나는 이것을 어떻게하는지 알아낼 수 없다. – mene

+0

이것은 완벽하게 작동했습니다. 감사! – mene

관련 문제