Silverstripe DropdownField未加载loadDataFrom()

时间:2013-02-04 19:08:45

标签: php silverstripe

我有一个用于更新数据库行的自定义表单。我使用$form->loadDataFrom( $data )预先填充字段值,其中$ data是字段值的关联数组。

除了DropdownField之外,这对所有人都很有用;没有设置为“已选择”。

相关代码:

在表单子类上:

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

在控制器中:

$form->loadDataFrom($data);

我已经验证$ data是一个格式正确的关联数组(毕竟,每个其他字段都获得适当的值)。

下拉字段不会设置选定的值。

1 个答案:

答案 0 :(得分:2)

您需要对源数组键使用true和false:

DropdownField::create('subscribed')->setSource(array(
  true  => 'Yes',
  false => 'No'
))