也概括一下:
在可以访问表单助手的视图中
<?php
echo $form->input( 'dataKey', array(
'type' => 'select',
'options' => array(
'key1' => 'val1',
'key2' => 'val2',
),
));
?>
上面将呈现一个带有两个选项的选择输入。您也可以将空选项作为第一项。传递 true 值只会在 HTML 中呈现的选项的开头附加一个带有空白值的空选项。
<?php
echo $form->input( 'dataKey', array(
'type' => 'select',
'options' => array(
'key1' => 'val1',
'key2' => 'val2',
),
'empty' => true,
));
?>
您可以将字符串传递给“空”键,使其显示自定义文本作为空选项的键字段。
<?php
echo $form->input( 'dataKey', array(
'type' => 'select',
'options' => array(
'California' => 'CA',
'Oregon' => 'OR',
),
'empty' => 'choose a state',
));
?>
最后一个示例,您还可以使用所选键预先选择一个选项。该值应与选择选项之一的 值 匹配,而不是键。
<?php
echo $form->input( 'dataKey', array(
'type' => 'select',
'options' => array(
'California' => 'CA',
'Oregon' => 'OR',
),
'empty' => 'choose a state',
'selected' => 'California',
));
?>
来自模型
Model->find( 'list', array( ... )); 将始终返回格式化为与选择框选项一起使用的数组。如果您将数据传递到存储在具有小写复数模型名称的变量中的视图中,即( $this->set( 'categories', $categories );,那么您将通过在视图中使用表单助手并传递给它的数据索引自动生成相关模型的下拉列表以“_id”为后缀的单数形式的相同型号名称。
#2 处的Aziz's answer 就是自动魔法发挥作用的例子。