No se han podido recuperar las subcategorías

Hola, he intentado hacer categorías y subcategorías e bash llamar subcategorías como --sub cat name porque puse la categoría y subcategoría en la misma tabla se utiliza la opción anidada. Pero, eso no está funcionando para mí.

¿Alguien puede ayudarme con esto? Estas categorías están obteniendo pero no pueden obtener subcategorías

  db->query('SELECT * FROM categories'); foreach($query1->result() as $cat_name) { if($cat_name->cat_name == $cat_name->parent) echo "". $cat_parent = $cat_name->cat_name.""; $query2 = $this->db->query("SELECT * FROM categories WHERE parent = '$cat_parent '"); foreach($query2->result() as $sub_cat) { if($sub_cat->cat_name != $sub_cat->parent) { echo " --" . $sub_cat->cat_name . ""; } } } ?>  

Intenta seguir la función que debería funcionar para ti y está en core php, así que debes implementarlo en codeigniter

 function fetchCategoryTreeList($parent = 0, $user_tree_array = '') { global $con; if (!is_array($user_tree_array)) $user_tree_array = array(); $sql = "SELECT * FROM `location` WHERE 1 AND `parent_id` = $parent ORDER BY id ASC"; $result=$con->query($sql); if (mysqli_num_rows($result) > 0) { $user_tree_array[] = "
    "; while ($row =$result->fetch_object()) { $user_tree_array[] = "
  • ". $row->name."
  • "; $user_tree_array = fetchCategoryTreeList($row->id, $user_tree_array); } $user_tree_array[] = "

"; } return $user_tree_array; }

Y llámalo como

 $res = fetchCategoryTreeList(); foreach ($res as $r) { echo $r; } 

Espero que te ayude