2013-01-20 42 views
-1

您好我有codeigniter中的数组有问题,我如何传递数组到视图,这里是代码不起作用。消息:未定义的索引:childmenus

型号:

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 文件名:管理/ vcategory_read.php 行号:34

A PHP Error was encountered 

严重性:警告

消息:forea供给的参数无效CH()

文件名:管理/ vcategory_read.php

行号:34

回答

0

从它的外观。您的$query->result_array()会返回资源。哪些不能用作foreach的输入。