CakePHP2:Acl教程不';行不通

CakePHP2:Acl教程不';行不通,cakephp,foreign-keys,acl,cakephp-2.2,Cakephp,Foreign Keys,Acl,Cakephp 2.2,正如标题所说,我对CakePHP2的Acl教程有一个问题。 我已经完全按照教程中提到的方式完成了所有工作,但仍然不起作用 我知道在互联网上有很多人对本教程也有问题,但我找不到像我一样有同样问题的博客或任何东西。 当我尝试访问我的应用程序的某个方向时,出现以下错误: Notice (8): Undefined index: group_id [APP\Model\User.php, line 98] 以及: 因此,传输到Acl的外键根本没有任何值。 但奇怪的是,至少在userscontrolle

正如标题所说,我对CakePHP2的Acl教程有一个问题。 我已经完全按照教程中提到的方式完成了所有工作,但仍然不起作用

我知道在互联网上有很多人对本教程也有问题,但我找不到像我一样有同样问题的博客或任何东西。 当我尝试访问我的应用程序的某个方向时,出现以下错误:

Notice (8): Undefined index: group_id [APP\Model\User.php, line 98]
以及:

因此,传输到Acl的外键根本没有任何值。 但奇怪的是,至少在userscontroller的函数中,外键设置正确,但当它应该传递给Acl时,它就消失了

Nr  Query   Error   Affected    Num. rows   Took (ms)

1   SELECT COUNT(*) AS `count` FROM `cake`.`users` AS `User` WHERE `User`.`id` = 4
2   SELECT COUNT(*) AS `count` FROM `cake`.`users` AS `User` WHERE `User`.`id` = 4
3   SELECT COUNT(*) AS `count` FROM `cake`.`users` AS `User` WHERE `User`.`id` = 4
4   UPDATE `cake`.`users` SET `modified` = '2012-11-13 19:59:47' WHERE `cake`.`users`.`id` = '4'
5   SELECT `User`.`group_id` FROM `cake`.`users` AS `User` WHERE `User`.`id` = 4 LIMIT 1
6   SELECT `Aro`.`id`, `Aro`.`parent_id`, `Aro`.`model`, `Aro`.`foreign_key`, `Aro`.`alias` FROM `cake`.`aros` AS `Aro` LEFT JOIN `cake`.`aros` AS `Aro0` ON (`Aro`.`lft` <= `Aro0`.`lft` AND `Aro`.`rght` >= `Aro0`.`rght`) WHERE `Aro0`.`model` = 'Group' AND `Aro0`.`foreign_key` = 2 ORDER BY `Aro`.`lft` DESC
7   SELECT `Aro`.`id`, `Aro`.`parent_id`, `Aro`.`model`, `Aro`.`foreign_key`, `Aro`.`alias` FROM `cake`.`aros` AS `Aro` LEFT JOIN `cake`.`aros` AS `Aro0` ON (`Aro`.`lft` <= `Aro0`.`lft` AND `Aro`.`rght` >= `Aro0`.`rght`) WHERE `Aro0`.`model` = 'User' AND `Aro0`.`foreign_key` = 4 ORDER BY `Aro`.`lft` DESC
8   SELECT COUNT(*) AS `count` FROM `cake`.`aros` AS `Aro` WHERE `Aro`.`id` = 6
9   SELECT COUNT(*) AS `count` FROM `cake`.`aros` AS `Aro` WHERE `Aro`.`id` = 6
10  SELECT `Aro`.`parent_id` FROM `cake`.`aros` AS `Aro` WHERE `Aro`.`id` = 6 LIMIT 1
11  SELECT `Aro`.`id`, `Aro`.`parent_id`, `Aro`.`lft`, `Aro`.`rght` FROM `cake`.`aros` AS `Aro` WHERE 1 = 1 AND `Aro`.`id` = 6 LIMIT 1
12  SELECT `Aro`.`id`, `Aro`.`lft`, `Aro`.`rght` FROM `cake`.`aros` AS `Aro` WHERE 1 = 1 AND `Aro`.`id` = 2 LIMIT 1
13  SELECT COUNT(*) AS `count` FROM `cake`.`aros` AS `Aro` WHERE `Aro`.`id` = 6
14  UPDATE `cake`.`aros` SET `parent_id` = 2, `model` = 'User', `foreign_key` = 4, `id` = 6 WHERE `cake`.`aros`.`id` = '6'
15  SELECT `Aro`.`id`, `Aro`.`parent_id`, `Aro`.`model`, `Aro`.`foreign_key`, `Aro`.`alias` FROM `cake`.`aros` AS `Aro` LEFT JOIN `cake`.`aros` AS `Aro0` ON (`Aro`.`lft` <= `Aro0`.`lft` AND `Aro`.`rght` >= `Aro0`.`rght`) WHERE `Aro0`.`model` = 'Group' AND `Aro0`.`foreign_key` IS NULL ORDER BY `Aro`.`lft` DESC
那么,为什么外键的值首先是“2”(应该是什么样子),然后是NULL

我希望你们中的一些人能帮助我。 谢谢

PS:对于所有喜欢我的问题的德语版本的人来说,它是

更新: 我能够通过以下方式使其适用于userscontroller的所有功能:

public function bindNode() {
    $this->id;
    $data = $this->read();
    return array('model' => 'Group', 'foreign_key' => $data['User']['group_id']);
    }
但对于所有其他控制器,它仍然是一样的。。
有人知道我如何在模型中获取用户数据,以便它也适用于其他控制器吗?

我知道回答我自己的问题有点愚蠢,但我认为与其删除这个问题,不如把它留给有同样问题的人,因为在互联网上似乎没有答案

我能够通过以下代码解决问题:

public function bindNode() {
    $data = AuthComponent::user();
    return array('model' => 'Group', 'foreign_key' => $data['User']['group_id']);
    }
它似乎工作得很好,也许可以帮助其他人;)

public function bindNode() {
    $this->id;
    $data = $this->read();
    return array('model' => 'Group', 'foreign_key' => $data['User']['group_id']);
    }
public function bindNode() {
    $data = AuthComponent::user();
    return array('model' => 'Group', 'foreign_key' => $data['User']['group_id']);
    }