我的模特:如下所示,非常基本
class User extends CI_Model
{
function __construct()
{
parent::__construct();
}
function getAll()
{
$this->db->order_by("lastName", "asc");
$this->db->order_by("firstName", "asc");
$this->db->order_by("userName", "asc");
$query = $this->db->get('user');
// test for result
if($query->num_rows() > 0)
{
return $query->result();
}
return NULL;
}
}
我的控制器:实际上是我的控制器的一部分,每次按默认路由加载用户/显示功能时,错误(进一步向下)都会显示出来。控制器的构造函数中加载的模型是否可用于同一控制器中的所有其他函数?
class Users extends CI_Controller
{
function __contruct()
{
parent::__construct();
$this->load->model('user');
}
function display()
{
$data['users'] = $this->user->getAll();
$head['pageTitle'] = 'Users Panel';
$this->load->view('security/redirect');
$this->load->view('template/head', $head);
$this->load->view('user/usersPanel', $data);
$this->load->view('template/foot');
}
}
我的错误:引用该行,“$ data ['users'] = $ this-> user-> getAll()”,在上面的控制器中
A PHP Error was encountered
Severity: Notice
Message: Undefined property: Users::$user
我的环境:
Codeigniter 2.1.0;
Mac Lion;
MAMP 2.0;
答案 0 :(得分:9)
不应该这样:
class Users extends CI_Controller
{
function __contruct()
{
是这样的:
class Users extends CI_Controller
{
function __construct()
{
用constru替换contruct。
答案 1 :(得分:1)
不应该这样:
$data['users'] = $this->user->getAll();
是这样的:
$data['users'] = $this->user_model->getAll();
<强>抱歉强> 还有型号名称:
$这 - &GT;负载&GT;模型( 'user_model');
和类名User_model扩展CI_Model
我的所有CI项目都以这种方式设置。