选择输入上的 CakePHP 自定义值


CakePHP custom values on select input

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

在尝试中,我尝试了以下内容:

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));

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