这不是文件夹中唯一的控制器。我已经删除了index.php。 但是,一旦我为购物车添加了这部分功能
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Product extends CI_Controller
{
public function index($index = 0)
{
$data['listProduct'] = $this->mproduct->findAll();
$this->load->view('template/header.php', $data);
$this->load->view('index', $data);
}
}
它给了我这个错误
消息:未定义的属性:Product :: $ mproduct
文件名:controllers / product.php
行号:7
这是我的模特
<?php
class MProduct extends CI_Model
{
function _construct()
{
parent::_construct();
}
function findAll()
{
return $this->db->get('product')->result();
}
function find($id)
{
$this->db->where('id', $id);
return $this->db->get('product')->row();
}
}
答案 0 :(得分:0)
您需要在调用之前先加载模型。
此外,第一个字母应大写,其余名称应为小写。
类名必须首字母大写其余部分 名称小写。确保您的类扩展了基础Model类。
添加:
$this->load->model ( 'Mproduct' );
$data['listProduct'] = $this->Mproduct->findAll();
完整代码:
控制器:controllers / Product.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Product extends CI_Controller {
public function index()
{
$this->load->model ( 'Mproduct' );
$data['listProduct'] = $this->Mproduct->findAll();
$this->load->view('template/header.php', $data);
$this->load->view('index', $data);
}
}
型号:models / Mproduct.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Mproduct extends CI_Model {
function _construct()
{
parent::_construct();
}
function findAll()
{
echo 'model';
}
function find($id)
{
echo 'model';
}
}