我正在尝试创建一个选择输入字段。但是我想手动设置每个选项的值。
在尝试中,我尝试了以下内容:
echo $this->Form->input('field', array(
'options' => array('Active', 'Blocked', 'Pending', 'Unknown'),
'values' => array(1,2,0,99),
'empty' => '(choose one)'
));
但是这没有帮助(即"活动"为0,"已阻止"为1等...
有谁知道是否可以手动设置值?
值不是正确的键,您还需要为其利用选项数组:
'options' => array(1 => 'Active', 2 => 'Blocked', 0 => 'Pending', 99 => 'Unknown'),
但这是基本的 PHP(因为未定义的键从 0 开始进行数字索引)。
您还需要使用关联数组来设置键:
$options = array(
'1' => 'Active',
'2' => 'Blocked',
'0' => 'Pending',
'99' => 'Unknown'
);
echo $this->Form->input('field', array('options' => $options));
但是,我建议将这样的选项存储在单独的数据库表中,而不是对它们进行硬编码,以保持视图干燥并允许将来轻松修改它们。