2

データベース行を更新するためのカスタム フォームがあります。$data はフィールド値$form->loadDataFrom( $data )の連想配列です。

これは、DropdownField 以外のすべてでうまく機能します。「選択済み」には何も設定されていません。

関連コード:

フォームのサブクラス:

$fields = FieldList::create( 
... 
DropdownField::create('subscribed')->setSource(array('1' => 'Yes', '0' => 'No'))->setAttribute('class', 'default') 
);

コントローラーで:

$form->loadDataFrom($data);

$data が適切にフォーマットされた連想配列であることを確認しました (結局のところ、他のすべてのフィールドは適切な値を取得します)。

ドロップダウン フィールドは、選択した値を設定しません。

4

1 に答える 1

2

ソース配列キーには true と false を使用する必要があります。

DropdownField::create('subscribed')->setSource(array(
  true  => 'Yes',
  false => 'No'
))
于 2013-02-06T05:13:10.903 に答える