3

我正在尝试创建一个选择输入字段。但是我想手动设置每个单独选项的值。

我尝试了以下方法:

echo $this->Form->input('field', array(
    'options' => array('Active', 'Blocked', 'Pending', 'Unknown'),
    'values' => array(1,2,0,99),
    'empty' => '(choose one)'
));

然而这并没有帮助(即“活动”为 0,“已阻止”为 1 等等......)

有谁知道是否可以手动设置值?

4

2 回答 2

7

values 不是正确的键,您还需要利用 options 数组:

'options' => array(1 => 'Active', 2 => 'Blocked', 0 => 'Pending', 99 => 'Unknown'),

但这是基本的 PHP(因为未定义的键是从 0 开始的数字索引)。

于 2013-10-04T09:39:29.323 回答
2

您还需要使用关联数组来设置键:

$options = array(
    '1' => 'Active',
    '2' => 'Blocked',
    '0' => 'Pending',
    '99' => 'Unknown'
);
echo $this->Form->input('field', array('options' => $options));

但是,我建议将此类选项存储在单独的数据库表中,而不是对它们进行硬编码,以保持您的视图干燥并允许它们在未来轻松修改。

于 2013-10-04T11:06:10.423 回答