尝试获取非对象代码点火器视图的属性



>我尝试从控制器到我的视图的每个数据,但我的foreach($menu_down as $menu_downs)中出现错误trying to get property of non-object

控制器

public function index() {
    $data['menu'] = $this->M_home->tampil_menu_utama();
    $data2 = array(); //initialize your variable with array; 
    foreach ($data['menu'] as $menus) {
        $idmenu = $menus->menuid;
        // echo $idmenu."<br>";
        // print_r($data['menu_down']); 
        $data2['menu_down'][] = $this->M_home->tampil_menu_down($idmenu);
        // print_r($data);
    }
    // print_r($data['menu_down']);
    $this->load->view('head', array_merge($data, $data2));
    $this->load->view('home');
    $this->load->view('foot');
}

function tampil_menu_down($idmenu){        
    $query = $this->db->query("SELECT menuname FROM `menu_master` WHERE root='".$idmenu."'");        
    return $query->result();
}

视图

<?php foreach($menu as $menus){ ?>
    <li class="treeview">
      <a href="#"><i class="fa fa-link"></i>
        <span><?php echo $menus->menuname ?></span>
        <span class="pull-right-container"><i class="fa fa-angle-left pull-right"></i></span>
      </a>
      <ul class="treeview-menu">
        <?php foreach($menu_down as $menu_downs){ //error ?>
          <li><a href="#"><?php echo $menu_downs->menuname ?></a></li>
        <?php } ?>
      </ul>
    </li>
<?php } ?>

尝试打印视图中的$menus并检查它是对象还是数组。如果它是一个数组,那么你不能像$menus->menuname那样访问它

如果可能,请在此处发布输出。

您不应该以这种方式使用数组合并,因为它会产生意想不到的效果。

请改为执行以下操作:

public function index() {
    $menu = $this->M_home->tampil_menu_utama();
    $data = array();
    foreach ($menu as $menus) {
        $data[] = $this->M_home->tampil_menu_down($menus->menuid);
    }
    $this->load->view('head', array('menu' => $menu, 'menu_down' => $data));
    $this->load->view('home');
    $this->load->view('foot');
}

如果失败,请尝试以下操作:

    <?php foreach($menu_down as $k => $v){ //error ?>
      <li><a href="#"><?php echo $v->menuname ?></a></li>
    <?php } ?>

最新更新