我正在将CakePHP Web应用程序中的关系从belongsTo更改为HABTM。
最初我们有一个部门表和一个用户表。部门表可以包含许多用户;但是用户只能属于一个部门。
现在我们希望用户能够属于多个部门。我创建了一个名为departments_users的中间表,我把它填满了数据。
我修改了用户模型,现在我在用户视图中收到此错误:
Notice (8): Undefined index: Department [APP/views/users/index.ctp, line 25]
这是视图中提供错误的代码行:
<?php
echo $this->Html->link($user['Department']['name'],
array('controller' => 'departments', 'action' => 'view', $user['Department']['id'])
);
?>
上面的代码使用HtmlHelper创建一个带有部门名称的链接(作为链接文本),然后将部门ID作为链接的一部分提供。
这是我删除并添加到用户模型中的代码。首先,我从$ belongsTo关系中删除了此代码:
'Department' => array(
'className' => 'Department',
'foreignKey' => 'department_id'
),
然后我在$ hasAndBelongsToMany关系中添加了这段代码:
'Department' => array(
'className' => 'Department',
'joinTable' => 'departments_users',
'foreignKey' => 'user_id',
'associationForeignKey' => 'department_id',
'unique' => true
)
有谁可以告诉我能做些什么让这项工作?感谢。