首页 > 解决方案 > 代码点火器:导航(视图)到模型:严重性:通知消息:未定义的属性:

问题描述

更新:

$ci =&get_instance();
$ci->load->model(your model);
$ci->(your model)->(your function);     
Note: You have to call your model in your controller.Its working fine

使用上面的答案(从codeigniter中的视图访问模型?

我上面的代码应该可以工作。但为什么没有。我正在使用数据库在导航中加载我的菜单。我直接从我的模型连接。在我的导航中,我有

$CI =& get_instance();
$CI->load->model('masterdata/MasterDataRole_','masterdatarole');
$menu = $CI->masterdatarole->loadMenu();

在我的masterdata/MasterDataRole_我有

<?php
class MasterDataRole_ extends CI_Model{
    //menu

    //submenu

    //screen

    //check access rights
    public function hasAccess($page_id,$level){
        $query = $this->db->select('RoleAccess')
                ->from('masterdatarolemapping')
                ->where('ItemLevel',$level)
                ->where('ItemSysID',$page_id)
                ->where('MasterDataRoleID',$this->session->userdata('UserID'))
                ->get();
        if($query){
            if($query->num_rows() > 0){
                $data = $query->row();
                return $data->access;
            }
        }

    }
}

但我得到错误说

遇到 PHP 错误 严重性:通知

消息:未定义的属性:MasterDataRole::$menu

文件名:templates/navigation.php

行号:117

在我的导航中,我有:

<?php foreach ($menu as $m): echo $m;?>
    <?php if($CI->menu->hasAccess($m->SysID,'menu') == 'yes'): ?>
    <?php endif; ?>
<?php endforeach; ?>

任何想法表示赞赏。

UPDATE

错误在此<?php if($CI->menu->hasAccess($m->SysID,'menu') == 'yes'): ?>

这一行<?php foreach ($menu as $m): echo $m;?>给出了菜单列表

标签: codeignitermodel-view-controllermodel

解决方案


$CI->load->model('masterdata/MasterDataRole_','masterdatarole');
$menu = $CI->masterdatarole->loadMenu();

应该masterdatarole不是menu


推荐阅读