2011-12-19 68 views
1

在我的索引頁面中,我計劃從多個模型獲取數據。例如,來自用戶模型的用戶列表以及來自帖子模型的最近更新列表在頁面的兩個單獨區域中。我會如何以最好的方式去做這件事?從做一點研究看來,也許元素是我在找的東西,但我不確定。在一個頁面上查看多個模型的最「蛋糕」方式?

順便說一下,我使用的是蛋糕2。

回答

2

你的問題的簡短答案是,只需使用`$ this-> loadModel('MyModel');並且您可以訪問您希望用於索引頁的任何/所有模型。


OR

長的答案,就如何建立一個「主頁」,其訪問大量的模型:

,您可以撥打DashboardsController(或任何你想將它命名),然後在Dashboard模型中指定您不需要數據庫表:var $useTable = false;

在Config/routes.php文件中,添加:Router::connect('/', array('controller' => 'dashboards', 'action' => 'index'));以使您的主頁(如果您想要)。

然後,在儀表板控制器的索引操作中,您可以使用$this->loadModel('Whatever');,並且您可以從該模型獲取數據:$myData = $this->Whatever->find('all');。您可以加載儘可能多的模型,因爲您需要這些數據。

TLDR /簡化:

1) Make Dashboard controller with 'index' action 
2) Make Dashboard model and specify: var $useTable = false; 
3) Set Route to use your Dashboard controller for homepage (or any other page: 
    `Router::connect('/', array('controller' => 'dashboards', 'action' => 'index'));` 
4) Use $this->loadModel('Whatever'); to gain access to that model's methods