1

我正在使用 codeigniter 框架,当我提交表单时出现此错误:

消息:未定义属性:Users::$Usersa
文件名:controllers/users.php
行:44
致命错误:调用非对象上的成员函数 insert()

用户控制器(已损坏的部分):

$this->load->model('usersa');

$register = array(
        'username' => $this->input->post('username'),
        'password' => $this->input->post('password'),
        'email' => $this->input->post('email')
    );

    // validation stuff

    if ($this->input->post())
        if ($this->form_validation->run() == FALSE) {

        } else {
            $this->Usersa->insert($register); // This is line 44
        }

Usersa 模型(此文件位于 application/models 中)

class Usersa extends MY_Model {

var $table = 'users';

function __construct() {  
    parent::__construct();
}
}

MY_Model(位于应用程序/核心)

class MY_Model extends CI_Model{

protected $table = '';


function __construct() {  
    parent::__construct();
}

function insert() {
    $this->db->insert($this->table, $register);

}
}

表数据通过正常,我很确定寄存器数据也是如此,我似乎无法弄清楚为什么我会收到错误消息。

4

1 回答 1

0

您将模型加载为"usera"- 但将其引用为$this->Usera- 您应该将其引用为小写:

$this->usersa->insert($register);

或者,您可以使用第二个参数传递您想要引用模型的名称,如 @ http://codeigniter.com/user_guide/general/models.html所示:

$this->load->model('usersa','some_model_name');

$this->some_model_name->insert(...);

于 2012-06-24T00:01:59.477 回答