Cakephp FormHelper创建选择框

时间:2012-04-10 11:46:27

标签: cakephp cakephp-2.0 form-helpers cakephp-2.1

我是cakephp初学者。

我的员工模型,

         class Employee extends AppModel {
            var $belongsTo = array(
                'Department'=>array(
                'className'=>'Department',
                'foreignKey'=>'department_id',
                'conditions'=>null,
                'fields'=>null
               )
         );
          blah--

现在在员工add.ctp中我想创建一个列出所有部门的选择框。 我正在通过官方的cakephp 2.1文档(here) 它告诉我添加

  $this->set('departments', $this->Employee->Department->find('list')); 

在我的控制器中..

我不知道放入哪个控制器?是在EmployeesController还是DepartmentsController?控制器的动作在哪?

查看以创建选择框(在add.ctp中)

         echo $this->Form->input('Department');

1 个答案:

答案 0 :(得分:4)

你几乎是正确的 - 只是一个小故障:

echo $this->Form->input('department_id');

您需要将字段命名为数据库中的字段。 如果是BelongsTo关系,那么员工表中应该有一个department_id外键。

PS:蛋糕知道,如果你传递$ departments,那么这个数组需要成为这个表单字段的选项。所以不需要额外的配置!

// in your add action at the very bottom
$departments = $this->Employee->Department->find('list');
$this->set(compact('departments'));