2017-11-16 14 views
0

私は、Doctrine ChoiceTypeフィールドを持つSymfony 3 CRM for Horse Rider Campに、キャンプの出席者を選択するかどうかを指定するフォームを持っていますノンライダーか否か。キャンプにはキャンプで許可されたノンライダーの数に制限があるので、ノンライダーのドロップダウンの「はい」オプションを無効にする必要があります。理想的には、このキャンプの限界に達しました」または類似のものです。ここでDoctrine ChoiceTypeエンティティ内の既存のデータに基づいて値を変更する方法

は、フィールドのエントリです:

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

何とかエントリを無効:

$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フィールドです。これは可能ですか?

答えて

0

あなたは問題が正直に言うと、それよりも複雑である

Customizing your Form Based on the Underlying Data

+1

ことを行うために、イベントのフォームを使用することができます。私は上記の仕組みがどのように作用するのかを見ていますが、フィールド値はすでに登録されている非ライダーの数に依存しています。だから私はカウントといくつかの種類のループを実装する必要がありますし、別のテーブルを参照して何を追加するかを決定するために許容された制限を取得する –

関連する問題