2017-11-16 9 views
0

Doctrine ChoiceType 필드가있는 Symfony 3 CRM for Horse Rider Camp에 Camp의 참석자가 있는지 여부를 선택하는 옵션이있는 양식이 있습니다. 비 라이더인지 여부. 그러나 캠프에는 캠프에 허용 된 비 라이더 수에 대한 제한이 있으므로 비 라이더 드롭 다운의 '예'옵션을 비활성화 할 수 있어야하며 이상적으로는 ' 이 캠프의 한계점에 이르렀습니다.Doctrine ChoiceType 엔티티에있는 기존 데이터를 기반으로 값을 변경하는 방법

$builder->add('non_rider', ChoiceType::class, 
    array(
     'label' => 'Is Non-Rider', 
     'required' => true, 
     'placeholder' => '-- Please select --', 
     'choices' => array(
      'Yes' => 1, 
      'No' => 0 
     ), 
     'label_attr' => array(
      'class' => 'control-label' 
     ), 
     'attr' => array(
      'class' => 'form-control required' 
     ) 
    )); 

내가 원하는 것은 같은 것을 읽을 수 choices 필드 :

'choices' => array(
    'You have reached the limit' => null, 
    'No' => 0 
) 

은 어떻게 든 항목을 비활성화 여기

는 필드의 항목입니다. 이것이 가능한가?

답변

0
+1

문제는보다 더 복잡 것을 할 이벤트 양식을 사용할 수 있습니다, 정직합니다. 위의 방법이 어떻게 작동하는지 알지만 필드 값은 이미 등록 된 비 라이더 수에 따라 다릅니다. 그래서 어떤 종류의 루프를 카운트로 구현 한 다음 다른 테이블을 참조하여 추가 할 내용을 결정할 수있는 허용 된 한도를 가져야합니다. –