2012-04-25 43 views
1

在许多应用程序中,用户只能根据不同的事情(例如状态,角色,工作流程)查看表中的某些记录... 有没有办法指定at模型级别的where子句将始终应用于模型的任何地方。或者什么是使用atk的最佳实践?默认where子句,记录查看限制

因此,例如,你做一个项目管理应用程序。您希望用户只能看到分配给他或她的项目,以及在任何时间记录时间,创建缺陷等等......他/她只能看到那些项目。

+0

http://agiletoolkit.org/doc/modeltable/condition – romaninsh 2012-04-26 08:57:00

回答

2

这取决于你想如何设计你的应用程序。约束是通过使用addConditionsetMasterField来实现的,所以如果你将这些约束放在模型init中,你就可以得到你想要的。您可以设计一个可访问所有内容的基本模型(用于管理目的),并在前端应用程序中使用一个或多个在init中具有约束的子类。这是确保模型仅限于某一部分数据的常用方法。

+0

init函数中的addCondition非常棒。是我需要的。谢谢。 – zadof 2012-04-26 17:02:15

+0

这很好,但是当你在网格中添加一个过滤器时,过滤器生成的where子句会使用OR来附加,然后使用addCondition来定义过滤器无用...... – zadof 2012-04-27 19:22:24