在CodeIgniter中设置模型成员变量

时间:2013-04-30 10:19:44

标签: php codeigniter oop

我正在使用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语言语义。有什么建议吗?

2 个答案:

答案 0 :(得分:2)

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

  

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

它应该是..

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

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

您可以浏览doc此处

答案 1 :(得分:2)

更改此

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

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

来自Documentation

修改

单个模型的不同实例

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

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