怀疑设计CakePHP项目

时间:2011-02-03 18:54:50

标签: cakephp

我是CakePHP的新手,我正在努力找出我想构建的应用程序的最佳解决方案: 数据库的表基本上是这样的:

  • 公司
  • 产品
  • Users_of_companies
  • 服务
  • 管理员(所有能够插入新公司,服务和产品的管理员)

我们的想法是建立一个公司将拥有其产品的项目。每个产品都有(很多)与之相关的服务,所以我创建了一个中间表,我存储了product_id,service_id和company_id。

我的问题是找出一个解决方案,让我们自己拥有一个管理面板以及与之相关的权限(可能是admin 1可以插入新公司,但是admin 2只能看到它们),另一个管理面板是公司的用户将能够根据他们的权限执行不同的工作(例如,创建公司的新用户或仅查看他们的产品)。

我已经阅读过关于CakePHP中的管理员但是我不确定如何处理我的情况,我会很感激任何想法。

最佳,

1 个答案:

答案 0 :(得分:1)

首先,您需要考虑您的数据模型。对我来说,根据你的说法,它看起来像是这样的:

  • 公司 hasMany 产品
  • 公司 hasMany 用户
  • 产品 hasMany 公司 ??我不知道
  • 产品 hasMany 服务
  • 产品 hasMany 服务
  • 服务 hasMany 产品 ??我不知道。

最好在关系中绘制数据模型和铅笔。通过这种方式,您将能够理解它们如何组合在一起。你会开始看到1:n和m:n关系的位置。

对于管理方面的事情,请查看Auth组件。如果你有勇气,还要看看Acl组件。 Acl将允许您定义哪些用户组可以执行哪些操作。我的建议是远离管理系统 - 它很粗糙,以后会让你感到沮丧。

如果您还没有这样做,请 - 或者至少阅读 - Blog Tutorial - 它会向您介绍许多基本概念,并且相对快速和轻松。 Acl tutorial也很好,但更先进。 Mark Story的Acl Tutorial可能更容易理解(我认为他在手册中写了一篇)。