[英]Running a Model::find in for loop in cakephp v1.3
我如何在cakephp中獲得以下結果:
在我的應用程序中,主題與類別相關,類別與城市相關,而城市最終與州相關
換一種說法:
主題屬於類別,類別屬於城市,城市屬於州。
現在,在“主題”控制器的索引操作中,我想找出所有主題以及城市和州。
我怎樣才能做到這一點。
我可以使用自定義查詢($ this-> Model-> query()函數)輕松地做到這一點,但隨后我將面臨分頁困難。
我嘗試這樣做
function index()
{
$this->Topic->recursive = 0;
$topics = $this->paginate();
for($i=0; $i<count($topics);$i++)
{
$topics[$i]['City'] = $this->Topic->Category->City->find('all', array('conditions' => array('City.id' => $topics[$i]['Category']['city_id'])));
}
$this->set(compact('topics'));
}
我采用的方法不是一個好方法(循環運行查詢)
使用遞歸屬性並將其設置為最大值(2)將降低性能,並且不會產生狀態信息。
我該如何解決?
請幫忙
謝謝
好吧,您可以做幾件事:
recursive
選項設置為3(由於您已經提到的原因,不建議使用)。 Containable
行為。 我認為,我鏈接的文檔提供了一套非常可靠的使用說明。 不幸的是,我無法Containable
行為對分頁的影響。
當您使用可包含行為時,不需要設置遞歸級別。 它會由cakephp自動調整。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.