簡體   English   中英

在Cakephp v1.3中運行Model :: find for循環

[英]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)將降低性能,並且不會產生狀態信息。

我該如何解決?

請幫忙

謝謝

好吧,您可以做幾件事:

  1. recursive選項設置為3(由於您已經提到的原因,不建議使用)。
  2. 使用可Containable行為。 我認為,我鏈接的文檔提供了一套非常可靠的使用說明。

不幸的是,我無法Containable行為對分頁的影響。

當您使用可包含行為時,不需要設置遞歸級別。 它會由cakephp自動調整。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM