2012-03-29 101 views
0

由於我需要我的導航按鈕,因此我在AppController中放置了以下代碼,因爲我在每個頁面上都需要它。CakePHP While循環在另一個循環內

// app/Controller/AppController.php 
class AppController extends Controller { 

    public $uses = array('Categorie'); 

    public function beforeFilter() 
    { 
     $parents = $this->Categorie->find('all', array('conditions' => array('cat_parent' => 0))); 
     $childs = $this->Categorie->find('threaded', array('conditions' => array('cat_parent' => $parents['Categorie']['cat_id']))); 

     echo '<pre>'.var_dump($parents).'</pre>'; 
    } 
} 

我不認爲這是很好的方式太完成我想要的..我該怎麼辦了一會兒與CakePHP的框架一段時間內。

親切的問候,

的Jordy

回答

0

你並不需要一個while循環在這種情況下,你可能只是找到類別中,cat_parent不爲零:

$childs = $this->Categorie->find('threaded', array(
    'conditions' => 'cat_parent != 0' 
)); 
+0

嗯,我有2位家長。我需要讓兒童與父母相匹配。如果我將使用你的方法,我也使用了多個查詢。 – Jordy 2012-03-29 14:59:01

+0

你使用'TreeBehavior'嗎?你可以在第一次調用時使用find('threaded')'('$ parents = ...')來獲取每個父代下面的整棵樹。 – bfavaretto 2012-03-29 15:00:09

+0

我正在讀一些關於$ this-> data-> generatetreelist();這有用嗎? – Jordy 2012-03-29 15:04:08