2012-03-29 9 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のフレームワークでどのように私はしばらくの内側にしばらくを行うことができます..私は何をしたい達成良い方法だとは思いません。

種類よろしく、あなたがこのケースでwhileループを必要としない

ジョディ

答えて

0

cat_parentがゼロでない場合、あなただけのカテゴリを見つけることができる:

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

まあ、私はしました2人の親がいます。私は子供と親を一致させる必要があります。私はあなたのメソッドを使用する場合は、あまりにも複数のクエリを使用している。 – Jordy

+0

'TreeBehavior'を使用していますか?最初の呼び出し( '$ parents = ...')で 'find( 'threaded')'を使って、各親の下のツリー全体を取得することができます。 – bfavaretto

+0

私は$ this-> data-> generatetreelist()について何かを読んでいます。これは便利ですか? – Jordy