2012-03-29 2 views
0

Поскольку мне нужны мои кнопки навигации, я разместил следующий код внутри своего AppController, так как мне это нужно на каждой странице.CakePHP While-loop внутри другого цикла

// 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 Framework.

С наилучшими пожеланиями,

Jordy

ответ

0

Вам не нужно while цикл в этом случае, вы можете просто найти категории, где cat_parent не равен нулю:

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

Ну Я получили 2 родителя. Мне нужно сопоставить детей с родителями. Если я буду использовать ваш метод, я тоже использую несколько запросов. – Jordy

+0

Вы используете 'TreeBehavior'? Вы можете использовать 'find ('threaded')' для первого вызова ('$ parents = ...'), чтобы получить все дерево под каждым родителем. – bfavaretto

+0

Я читаю что-то о $ this-> data-> generatetreelist(); это полезно? – Jordy

Смежные вопросы