我是cakephp初学者。
我的员工模型,
class Employee extends AppModel {
var $belongsTo = array(
'Department'=>array(
'className'=>'Department',
'foreignKey'=>'department_id',
'conditions'=>null,
'fields'=>null
)
);
blah--现在,在employee add.ctp中,我想创建一个列出所有部门的选择框。我浏览了官方的cakephp2.1文档(here),它告诉我要添加
$this->set('departments', $this->Employee->Department->find('list')); 在我的控制器里..
我不知道该放入哪个控制器?它是EmployeesController还是DepartmentsController?在控制器的哪个动作中?
创建选择框的视图(在add.ctp中)
echo $this->Form->input('Department');发布于 2012-04-10 20:28:04
你几乎是正确的-只有一个小故障:
echo $this->Form->input('department_id');您需要按照字段在数据库中的名称来命名字段。如果是BelongsTo关系,那么在employees表中应该有一个department_id外键。
PS: cake知道,如果你向下传递$departments,这个数组将需要是这个表单域的选项。所以不需要额外的配置!
// in your add action at the very bottom
$departments = $this->Employee->Department->find('list');
$this->set(compact('departments')); https://stackoverflow.com/questions/10088156
复制相似问题