我正在尝试创建一个选择输入字段。但是,我想手动设置每个单独选项的值。
试图尝试以下内容:
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等......)
有谁知道是否可以手动设置值?
答案 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并允许它们在将来轻松修改。