怎么了?消息:未定义的属性

时间:2017-07-19 09:15:24

标签: php

这是错误:

  

严重性:通知消息:未定义属性:Products :: $ product_model文件名:controllers / Products.php行   人数:29

这是我的控制器代码:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Products extends CI_Controller {

    function __construct()
    {
        parent::__construct();
        if(!$this->session_data()):
            redirect(base_url());
        endif;
        $this->load->model('User_model');
        $this->load->model('Admin_model');
        $this->load->model('product_model','products');
    }

    function session_data()
    {
        return $this->session->userdata('ADMIN_SESSION');
    }


  function show($page,$data = array(),$str = '')
    {
        $userdata = $this->session_data();
        $data['setting'] = $str;
        $data['admin'] = $this->Admin_model->get_id($userdata['empcom_id']);
        $data['cat'] = $this->product_model->get_cat(); 
        $this->load->view($page,$data);
    }
    function index()
    {


        $this->show('template/header');
        $this->show('admin/admin_menus');

        $this->show('product_view');
          $this->show('template/footer');
    }

1 个答案:

答案 0 :(得分:0)

如果您希望将模型分配给不同的对象名称,可以通过加载方法的第二个参数指定它:

$this->load->model('model_name', 'foobar');
$this->foobar->method();

参考:https://www.codeigniter.com/userguide3/general/models.html#loading-a-model

在您的方法中,您为product_model指定了不同的名称

$this->load->model('product_model','products');
  

$ data [&#39; cat&#39;] = $ this-&gt; product_model-&gt; get_cat();

将其更改为

  

$ data [&#39; cat&#39;] = $ this-&gt; products-&gt; get_cat();