使用显示值的cakephp下拉列表

使用显示值的cakephp下拉列表,php,cakephp,drop-down-menu,dropdownbox,Php,Cakephp,Drop Down Menu,Dropdownbox,抱歉用关于CakePHP和下拉列表的第十亿个问题来困扰大家 我有一个员工数据库,包括姓名、部门等字段 我想要实现的是,通过选择可用的部门并提交表单,可以过滤所有员工的标准视图。过滤器中可供选择的部门将从数据库中已有的部门中自动填充 我对CakePHP相当陌生,但我尝试实现的是一个下拉列表,它是从数据库中提取的1xn。在HTML中,这看起来像: <option value="Human Resources">Human Resources</option> <opti

抱歉用关于CakePHP和下拉列表的第十亿个问题来困扰大家

我有一个员工数据库,包括姓名、部门等字段

我想要实现的是,通过选择可用的部门并提交表单,可以过滤所有员工的标准视图。过滤器中可供选择的部门将从数据库中已有的部门中自动填充

我对CakePHP相当陌生,但我尝试实现的是一个下拉列表,它是从数据库中提取的1xn。在HTML中,这看起来像:

<option value="Human Resources">Human Resources</option>
<option value="Finance">Finance</option>
等等

目前,这是我在控制器中使用的代码,用于生成所有现有部门的列表:

$this->set('department', $this->Employee->find('list', array('fields' => 'Employee.Department')));
我在视图中使用这个,然后将其放入一个下拉框:

echo $this->Form->input('faculty', array('label' => 'Faculty', 'empty' => array('Any'), 'options' => $department));
我遇到的问题是,它会按照

<option value="1">Human Resources</option>
<option value="2">Finance</option>
我已经反复阅读了表单和find函数的文档,但似乎找不到答案

我从中发现的唯一方法是使用数组'value'=>'label'手动指定选项,这给定了完整表单的长度和我们正在谈论的50多个部门,这不是我喜欢做的事情

我是:

表单帮助程序或查找函数中缺少正确的选项? 只是做错了?
我知道过滤功能的逻辑工作正常,因为复选框没有问题,我已经在URL中使用了选项,如果我手动输入,一切都很好。

因此,我要做的是获得一个看起来像您想要的数组:

$options = array_combine($department, $department);
echo $this->Form->input('faculty', array('label' => 'Faculty', 'empty' => array('Any'),  'options' => $options));
这应该表现为:

<option value="Human Resources">Human Resources</option>
<option value="Finance">Finance</option>

你应该使用Cake DC搜索插件:谢谢,我会尝试一下。对不起,这似乎不起作用-与最初描述的结果相同
<option value="Human Resources">Human Resources</option>
<option value="Finance">Finance</option>