symfony 1.4アプリケーションがあり、sfWidgetFormChoice
複数のチェックボックスを作成するために使用しているフォームがあります。
問題なくデフォルトを設定できますが、オブジェクトを保存して編集フォームを表示した後、チェックボックスをオンにできません。
「チェック済み」チェックボックスの値は、1つのフィールドに反映されて保存されます。
例えば:
これがデフォルトの設定です。これにより、データベースにとして保存されますFull-Time;Hourly
。それはうまくいきます。
このオブジェクトを編集しているとき、フォームは次のようになります。
オブジェクトを編集するとき、このsetDefault
関数は機能しません(「データ」があるため、デフォルトは必要ありません)。
フィールドオブジェクトの作成方法:
$choices = array(
'Full-Time' => 'Full-Time',
'Part-Time' => 'Part-Time',
'Hourly' => 'Hourly',
'Contract' => 'Contract'
);
$this->widgetSchema['emp_type'] = new sfWidgetFormChoice(
array(
'choices' => $choices,
'multiple' => true,
'expanded' => true
),
array()
);
$this->setDefault('emp_type', array('Full-Time', 'Hourly'));
オブジェクトを編集するときにチェックする適切なチェックボックスを設定するにはどうすればよいですか?