Php 加载模型时CodeIgniter未定义属性
在尝试在codeigniter中实现一个非常简单的模型控制器时,我收到了以下错误。我对这个框架还不熟悉,但据我所知,这应该是可行的 我也尝试过自动加载模型。我正在自动加载数据库库Php 加载模型时CodeIgniter未定义属性,php,codeigniter,codeigniter-2,Php,Codeigniter,Codeigniter 2,在尝试在codeigniter中实现一个非常简单的模型控制器时,我收到了以下错误。我对这个框架还不熟悉,但据我所知,这应该是可行的 我也尝试过自动加载模型。我正在自动加载数据库库 Message: Undefined property: User::$user_model Fatal error: Call to a member function get_user() on a non-object 模型 class User_model extends CI_Model { funct
Message: Undefined property: User::$user_model
Fatal error: Call to a member function get_user() on a non-object
模型
class User_model extends CI_Model
{
function __construct()
{
parent::__construct();
}
function get_user()
{
return "test";
}
}
控制器
class User extends CI_Controller
{
public function __construct()
{
parent::__construct();
}
function index()
{
$this->load->model('User_model');
$data['value'] = $this->User_model->get_user();
$this->load->view('user_edit', $data);
}
}
谢谢,我想我找到问题了。我在我的用户控制器中有一些额外的setter方法,我一直在使用这些方法,我不认为它们会成为问题
public function __set($key, $value)
{
// Check to see that the requested attribute exists and then assign the value
if (property_exists($this, $key))
{
$this->$key = $value;
}
}
原来我需要去掉一个下划线,因为codeigniter不喜欢它
public function _set($key, $value)
我真的应该把整个课程都包括进去,但我尽量让它尽可能简单 只要使用这样的东西,
$this->load->model('user_model')代码>不要使用$this->load->model('User_model')
并确保您具有相同的名称,当模型名(如user\u mode.php
和类(如class user\u model)扩展CI\u model(){}
)时,因此当您从控制器调用它时,使用小写字母看起来像您的模型名user$this->load->model('user\u model')
,理论上应该是这样的。模型的文件名是什么,是user\u model.php
?是的,是user\u model.php,谢谢。