CakePHP过滤器查询用户的商业帐户

问题描述:

我是CakePHP 2.4的新手,试图从概念上理解如果我在正确的轨道上,然后开始构建以下内容。CakePHP过滤器查询用户的商业帐户

默认情况下,当用户首次登录到他的在线帐户时,他会看到他有权访问的所有帐户的订单,发票和文档。使用帐户下拉菜单和“开始”按钮,他可以仅为一个帐户过滤订单,发票和文档。

目前,CakePHP之前,这一切都是在查询逻辑中处理的。用户帐户(N:N)关系在数据库中。任何活动的Account_Id都存储在SESSION中。 什么是CakePHP来做到这一点?

模型看起来像:

User hasAndBelongsToMany Accounts 
Account hasMany Orders 
Account hasMany Invoices 
Account hasMany Documents 

1)我应该在代码在一个模型(hasAndBelongsToMany用户和账户之间的关系),或在ACL /验证部件(用户是ARO,帐户是ACO)?

2.)要显示所有帐户,什么是“查询”此过滤器并将其应用于每个模型的最佳方法。或者是由Model?或ACL/Auth自动完成的?

3.)要显示一个帐户,在Session中存储Id仍然是最好的方法吗? ...还是应该考虑订单,发票和文档控制器中的一组新操作?

我会支持你一组CakePHP cookbook的链接,它将阐明你所有的查询: 首先你应该阅读大约linking models

接下来的事情就是在那里以下CakePHP conventions

另一个步骤是:"baking" your models/controllers/ views

经过这一步,所有你需要做的只是play arround with data you get from your models

说实话你没有创建正确的数据库和表如果你正确地使用corect创建你的数据库,然后Cake会检测并通过交互式shell建立关系(你会被问到是否想要控制台通过蛋糕烘烤为你创建关系),就可以编写任何关系。

$this->ModelName->find('all') 

将使用

$this->ModelName->recursive=-1 

会让你的模型以检索从MODELNAME只有数据,没有任何相关的数据给你给MODELNAME的所有数据以及所有相关的数据, 。

在实践中,一些事情可能会为你开箱即用,但有些事情你不得不简单实施。希望有所帮助。

+0

谢谢scx。当然,我一直在阅读cakephp相当多的内容。我仍然很困惑,我可以如何将它应用到我的用户和帐户示例中。对于我描述的功能,帐户是否应在Auth/ACL中构建?对所有帐户或一个帐户应用过滤器的最佳方式是什么?感谢您的及时回应! – user3739152