消息:未定义的索引:childmenus

时间:2013-01-20 09:18:01

标签: arrays indexing

嗨我在codeigniter中有一些数组问题,如何将数组传递给视图,这里代码不起作用。

型号:

 public function get_all()
    {           

        $query = $this->db->get('category');
        $result = $query->result_array();                      
        foreach( $result as $key => $row )
        {

          $query = $this->db->get_where('categorysub',   array('categoryID'=>$row['categoryID']));

            $row['childmenus'] = $query->result_array();
            $result[$key] = $row;

        }            
        return $result;            
    }

控制器:

$this->load->model(array('mcategory','mcategorysub'));
    $data['title']= 'Detail Kategori';
    $data[] = array(
            'nestedmenu' => $this->mcategory->get_all());

    $data['nestedmenu'] = array($data);
    $this->load->view($this->template, $data);

查看:

   foreach($nestedmenu as $nestedmenu_type)
{

    echo "<h2>" . $nestedmenu_type['name'] . "</h2>";
    echo "<ul>";        
    foreach($nestedmenu_type['childmenus'] as $childmenu)
    {        
        echo "<li>" . $childmenu['name'] . "</li>";
    }        
    echo "</ul>";

}

程序应该显示如下结果:

Menu 1
     menu 1a
     menu 1b
     menu 1c
Menu 2
     menu 2a
     menu 2b
......

但实际上是这样的结果错误:

MENU 1

遇到PHP错误 严重性:注意 消息:未定义的索引:childmenus 文件名:admin / vcategory_read.php 行号:34

A PHP Error was encountered

严重性:警告

消息:为foreach()提供的参数无效

文件名:admin / vcategory_read.php

行号:34

1 个答案:

答案 0 :(得分:0)

从它的外观来看。您的$query->result_array()会返回一个资源。这不能用作foreach的输入。