我正在使用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语言语义。有什么建议吗?
答案 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);
修改强>
单个模型的不同实例
$this->load->model('Person', 'Person1');
$this->Person1->set_id(5000);
$this->load->model('Person', 'Person2');
$this->Person2->set_id(5000);