У меня проблема с включением категории в список codeigniter
моя таблица:
id name sub_category category_name desc status
3 submenu1 menu1 category1 desc1 1
4 submenu1 menu2 category1 desc1 1
5 submenu1 menu1 category2 desc1 1
6 submenu1 menu2 category2 desc1 1
мой ожидаемый результат:
category1
submenu1
menu1
menu2
category2
submenu1
menu1
menu2
список как такая структура
Mycontroller:
public function index(){
// $this->load->view('view_admin/home');
$data['menu']=$this->Admin_model->menu();
$data['menu1']=$this->Admin_model->menu1();
$data['menu2']=$this->Admin_model->menu2();
echo '<pre>';
print_r($data['menu1']);
echo '</pre>';
$this->load->view('view_admin/banner',$data);
}
Моя модель:
function menu(){
$this->db->select('*');
$this->db->from('productpage');
$this->db->where('status',1);
$this->db->group_by('category_name');
$query = $this->db->get();
$result = $query->result();
return $result;
}
function menu1(){
$this->db->select('*,group(');
$this->db->from('productpage');
$this->db->where('status',1);
$this->db->group_by('name');
$query = $this->db->get();
$result = $query->result();
return $result;
}
function menu2(){
$this->db->select('*');
$this->db->from('productpage');
$this->db->where('status',1);
$this->db->group_by('sub_category');
$query = $this->db->get();
$result = $query->result();
return $result;
}
я получил такую ошибку Произошла ошибка PHP Степень серьезности: уведомление
Сообщение: Попытка получить свойство не-объекта
Имя файла: view_admin / banner.php
Номер строки: 58
как создать для каждого цикла в представлении, чтобы получить ожидаемый результат
Спасибо за ваш ценный ответ
спасибо за ответ, пожалуйста, дайте немного кода для представлений, как показать мой ожидаемый результат. я действительно борюсь
Я не могу дать вам код. Я понятия не имею, какова структура данных и что вы пробовали до сих пор. Сделайте то, что я сказал в первом комментарии, и я посмотрю, что я могу сделать.
хорошо, спасибо за ваш ответ






Вам просто нужна одна функция запроса / модели и немного переупорядочить массив перед представлением:
Модель:
function menu(){
return $this->db->get_where('productpage', array('status' => 1))->result_array();
}
Контроллер:
$array = $this->Admin_model->menu();
$menu = array();
foreach ($array as $item) {
// rearrange things
$menu[$item['category_name']][$item['name']][] = $item['sub_category'];
}
$this->load->view('view_admin/banner', array('menu_data' => $menu));
Вид:
foreach ($menu_data as $cat_name => $sub_menu) {
echo $cat_name . '<br>';
foreach ($sub_menu as $sub_menu_name => $menus) {
echo $sub_menu_name . '<br>';
foreach ($menus as $menu) {
echo $menu . '<br>';
}
}
}
Создает:
category1
submenu1
menu1
menu2
category2
submenu1
menu1
menu2
Вам не нужен метод для каждого меню, вы можете передать идентификатор в качестве аргумента. Обновите свой вопрос кодом в строке 58