将表1数据添加到表2下拉列表中

时间:2013-02-15 09:27:17

标签: php mysql cakephp-2.2

背景

我正在编写一个应用程序,我需要拉动所有员工(表1)并将其添加到下拉列表中。然后将employee_id保存在主管表中(表2)。

我有什么

我有两张桌子:

,------------,-----------,------------,--------------,
| Table_1_id | Name      | Surname    | Table_2_id   |
'------------'-----------'------------'--------------'

,------------,------------,
| Table_2_id | Table_1_id |
'------------'------------'

我尝试了什么

我尝试了以下内容:

$hrEmployees = $this->HrEmployee->find('list',
    array(
        'fields' => array("id","fullname"),
        'order' => array('HrEmployee.name ASC','HrEmployee.surname ASC')
    )
);
$this->set(compact('hrEmployees'));

这是在编辑/添加功能下的表1控制器中。

问题

我不知道该怎么做。我认为使用虚拟字段并将其传递给视图将使用名称填充下拉列表,但显然我错了。如果我必须重新设计数据库结构,我会,但我只需要这个工作!有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

您的员工表中不需要table2_Id。您可以从员工数组中获取员工数组并将其传递给模板。当用户从下拉列表中选择员工时,您需要运行另一个查询以将所选员工ID插入到管理员表中。