2014-06-13 30 views
0

我是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仍然是最好的方法嗎? ...還是應該考慮訂單,發票和文檔控制器中的一組新操作?

回答

0

我會支持你一組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