选择输入上的CakePHP自定义值

时间:2013-10-04 09:35:46

标签: php html cakephp

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

试图尝试以下内容:

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

然而这没有帮助(即'Active'为0,'Blocked'为1等......)

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

2 个答案:

答案 0 :(得分:7)

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

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

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

答案 1 :(得分:2)

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

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

但是,我建议将这样的选项存储在一个单独的数据库表中,而不是对它们进行硬编码,以保留您的视图DRY并允许它们在将来轻松修改。