だから私はmenu、id、title、parent_idのテーブルを持っています
メニューの最下位レベル(たとえばid = 50)にいくつかのコンテンツフィールドを添付しました。次に、そのツリーメニューの最上位の親(id = 1)をクリックすると、添付されているコンテンツを表示したいのですが。子メニューに(どれだけ深くてもかまいません)、親をループする必要があると思いますが、このロジックを手伝ってくれませんか?
コントローラー:
$data['query'] = $this->item_model->getByType($menu_id);
モデル:
function getByType($menu_id) {
if($menu_id) {
$q = $this->db->get_where('menus', array('id' => $menu_id));
$parent_id = $q->row()->parent_id;
}else{
return;
}
$this->db->select('*');
$this->db->from('items');
$this->db->where('menu_id', $menu_id);
$this->db->or_where('menu_id', $parent_id);
$query = $this->db->get();
return $query;
}
だから今では、彼の親(2レベル)をクリックした場合にいくつかのメニューがある場合にのみアイテムを取得しますが、それを無限のレベルの深さにするにはどうすればよいですかor_where
?それと?