gpt4 book ai didi

CakePHP 2 : Acl tutorial doesn't work

转载 作者:行者123 更新时间:2023-12-01 12:49:47 28 4
gpt4 key购买 nike

正如标题所说,我对 CakePHP 2 的 Acl 教程有疑问。我完全按照教程中提到的方式完成了所有操作,但仍然无法正常工作。

我知道互联网上有很多人对本教程也有疑问,但我找不到任何博客条目或与我有同样问题的任何内容。当我尝试访问我的应用程序的方向时,出现以下错误:

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

和:

AclNode::node() - Couldn't find Aro node identified by "Array ( [Aro0.model] => Group [Aro0.foreign_key] => ) "

因此传输到 Acl 的 foreign_key 根本没有任何值。但奇怪的是 - 至少在 userscontroller 的功能中 - foreign_key 设置正确但是当它应该传递给 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

错误消息中的行是:

public function bindNode($user) {
return array('model'=>'Group','foreign_key'=>$user['User']['group_id']);
}

那么为什么 foreign_key 的值首先是“2”(它应该是怎样的)然后是 NULL?

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

PS:对于所有喜欢我的问题的德语版本的人,here这是

更新:通过这个,我能够让它适用于 userscontroller 的所有功能:

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

但对于所有其他 Controller ,它仍然是相同的..有人知道如何在模型中获取用户数据,以便它也适用于其他 Controller 吗?

最佳答案

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

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

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

它似乎工作得很好,也许它可以帮助其他人 ;)

关于CakePHP 2 : Acl tutorial doesn't work,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13367591/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com