Cakephp ::从其他人表中获取数据?

时间:2011-03-04 03:45:28

标签: php cakephp cakephp-appmodel

我有这个名为User的模型,这个模型使用“Users”表。此模型专为管理员登录而设计。此模型具有“id,username,password,created,modified”字段。

现在,如果我想添加更多用户,“普通用户”,则无法登录的用户。我该怎么办?

目前,我创建了名为“Person”的新模型,使用“people”表,其中包含“id,username,email”字段。

从我的管理面板(用户模型),如何查看普通用户(个人模型)数据?

2 个答案:

答案 0 :(得分:0)

首先,您正在谈论身份验证和授权,您可以在cakephp中查看内置的aclauth

第二,使用Person模型

$personModel = ClassRegistry::init('Person');
$person = $personModel->findById($id);

答案 1 :(得分:0)

处理此问题的经典方法是将所有人员存储在users表中,然后添加group_id外键以链接到Groups表。然后,您的组表包含1,Admin和2,普通用户作为组。

所以你的用户表看起来像这样

users
-----
id, username, password, group_id, created, modified

和群组

groups
------
id, name

使用belongsTo关系将您的用户模型链接到您的论坛模型

var $belongsTo = array('Group');

现在,在您的管理页面中,您可以看到每种类型的用户,并通过简单的提取来判断他们是管理员用户还是普通用户,或者您可以按组筛选要查看的组。

如果您正在使用ACL组件来处理对应用的访问,这也非常适合。 http://book.cakephp.org/view/1242/Access-Control-Lists