【发布时间】:2014-04-06 18:20:34
【问题描述】:
我正在尝试开发一个有多个用户的应用程序。每个用户都有自己的客户、发票、设置、个人资料等。
默认情况下,CakePHP 生成的控制器/模型/视图将显示所有用户的所有客户端、发票等。
所以我必须编辑添加、查看、索引、编辑和删除操作,以便用户只能查看、编辑、添加、删除他们自己的客户、发票、设置、配置文件等。
我想知道是否有更简单更通用的方法来做到这一点。就像在 AppController.php 或 AppModel.php 中做一样,这样就不需要为每个 Controller/Model/View 做。
或者如果因为 hasMany、belongsTo 等属性设置正确,CakePHP 可以自动执行此操作。
【问题讨论】:
-
也许this 有帮助。您可以将 user_id 过滤器添加到模型 find() 以执行特定操作,从而仅显示该用户所属的记录等。 PS:您应该始终提及您正在使用的确切 cakephp 版本。
-
是的,这就是我一直在做的。但是我必须为我所做的每一个新控制器和动作都这样做。我的问题是是否有任何更简单的“更漂亮”的方式来做到这一点。最好的方法是 cake 可以根据 hasMany、belongsTo 等参数自动执行此操作。
-
好吧,你可以写一些东西的行为。除此之外,您可能需要提供(更多)代码才能获得此问题的更详细答案。
-
似乎行为会起作用。谢谢!
-
不是每个模型都有
$order像$conditions这样的公共变量吗?我找不到任何关于此的文档,甚至没有关于我知道它存在的$order变量!如果我错了,请纠正我!
标签: php cakephp cakephp-2.4