1

我正在使用 CodeIgniter 并想为模型设置一个成员变量。

以下是我希望编写代码的方式:

class Person extends CI_Model {
    var $id = '';

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

    function set_id($id = '')
    {
        $this->id = $id;
    }
}

然后我希望调用模型并像这样设置成员变量:

$person1 = $this->load->model('Person');
$person1->set_id(5000);

但这给出了:

Fatal error: Call to a member function set_id() on a non-object

我显然在这里缺少一些 PHP 或 CodeIgniter 语言语义。有什么建议么?

4

2 回答 2

3

改变这个

$person1 = $this->load->model('Person');
$person1->set_id(5000);

$this->load->model('Person');
$this->Person->set_id(5000);

文档

编辑

单一模型的不同实例

$this->load->model('Person', 'Person1');
$this->Person1->set_id(5000);

$this->load->model('Person', 'Person2');
$this->Person2->set_id(5000);
于 2013-04-30T10:22:22.367 回答
2

您需要使用与您的类同名的对象来访问模型函数..

加载后,您将使用与您的类同名的对象访问模型函数: $this->Model_name->function();

它应该是..

$this->load->model('Person');
$this->Person->set_id(5000);

或者

$this->load->model('Person', 'somename');
$this->somename->set_id(5000);

你可以在这里查看文档

于 2013-04-30T10:21:42.130 回答