codeigniter - 代码点火器:导航(视图)到模型:严重性:通知消息:未定义的属性:
问题描述
更新:
$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;?>
给出了菜单列表
解决方案
$CI->load->model('masterdata/MasterDataRole_','masterdatarole');
$menu = $CI->masterdatarole->loadMenu();
应该masterdatarole
不是menu
推荐阅读
- java - OpenApi Swagger 2.0 在 POST 请求方法上隐藏只读字段,但不是 GET
- model - 为什么当我的数据集在 Google BigQuery ML 中只有 2.4GB 时,查询处理的字节数是 100GB?
- html - 将 span CSS 样式与 Schema 合并
- php - 购物车页面在 Laravel 开发的电子商务项目中不显示任何内容
- django - 如何在 admin django 面板的更改页面中更改路径
- amazon-web-services - 在内部 AWS 网络中使用加密是一种好习惯吗?
- excel - 如何根据相邻单元格中的值删除单元格
- android - Flutter device_info 未处理的异常:MissingPluginException
- c - 使用 libpcap 识别和解析分段数据包
- reactjs - Webpack 配置中的 CSS 加载器不起作用