Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 加载模型时CodeIgniter未定义属性_Php_Codeigniter_Codeigniter 2 - Fatal编程技术网

Php 加载模型时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

在尝试在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
{

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,谢谢。