CakePHP中新HABTM的未定义索引

时间:2014-12-30 23:17:43

标签: php mysql cakephp

我正在将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
)

有谁可以告诉我能做些什么让这项工作?感谢。

0 个答案:

没有答案