2017-05-09 64 views
0

如何使用codeigniter做類別「tree」? 我有問題「$ this-> db-> join('kategorijos',$ kategorija ['pavadinimas']。'= sub_kategorijos.kategorijos_id');」請求的類別如何?分類 - >子分類

public function get_categories(){ 
    $this->db->order_by('pavadinimas'); 
    $query = $this->db->get('kategorijos'); 
    return $query->result_array(); 
} 

public function get_sub_categories(){ 
    $this->db->select('*'); 
    $this->db->from('sub_kategorijos'); 
    $this->db->join('kategorijos', $kategorija['pavadinimas'].'= sub_kategorijos.kategorijos_id'); 
    $query = $this->db->get(); 
    return $query->result_array(); 
} 
+0

它似乎並沒有遵從docs規則:'$ this-> db-> join('comments','comments.id = blogs.id');'。而且你也沒有在方法中定義'$ kategorija ['pavadinimas']'。 – Tpojka

回答

0

我建議你在get_categories方法做foreach,那麼你處理數據與您get_sub_categories方法整合。例如:

public function get_sub_categories($category_id){ 
    if(isset($category_id)) 
    { 
     $this->db->select('*'); 
     $this->db->where('category_id',$category_id); 
     $this->db->from('sub_kategorijos'); 
     $query = $this->db->get(); 
     return $query->result_array(); 
    }else 
    { 
     return false; 
    } 
} 

public function get_categories(){ 
    $this->db->order_by('pavadinimas'); 
    $query = $this->db->get('kategorijos'); 
    $array = $query->result_array(); 
    $output = []; 
    foreach($array as $data) 
    { 
     $subcategories_data = $this->get_sub_categories($data['category_id']); 
     if($subcategories_data) 
     { 
      $output[$data] = $subcategories_data; 
     } 
    } 
    return $output; 
}