我有一个名为“users”的表,每个用户都可以属于一个组,在名为“categories”的表中描述。使用的一个例子是“Alice属于红色类别”和“Bob属于蓝色类别”等。
我正在使用CakePHP的表单助手,在页面http:// localhost / users / edit / [user_id]中,它创建了一个下拉框来选择类别(在模型中使用JOIN来获取类别名称)。
但是我想添加一个选项来选择NULL,因为并非所有用户都需要成为类别的一部分。将“NULL”条目添加到“category”表将不起作用,因为“users”表中的外键是“category_id”。我希望没有选择类别的用户的“category_id”为NULL,而不是在另一个表中碰巧等于NULL的1。
对不起,如果那有点散漫。希望有人可以关注它,让我知道cakePHP是否有办法做到这一点,或者我应该采取不同的方式来做到这一点。
答案 0 :(得分:5)
@stevelove的答案是正确的,但我会使用以下功能:
$this->Form->input('category_id', array('empty'=>true, 'options'=>$categories));
这将在选择框中添加一个空选项。如果您想要一个描述性名称,只需使用“
$this->Form->input('category_id', array('empty'=>'Select category', 'options'=>$categories));
答案 1 :(得分:4)
所以,您只是想在群组选择下拉菜单中添加“无”选项?您是否尝试过传递空选项属性?
$this->Form->select('group', $options, null, array('empty' => 'None'));