在controllers \ home.php中有一个名为home
的类和名为index
的函数。就在那里,我有$data['users'] = $this->users->table();
Class Users extends CI_Model
内有models\users.php
。
但CodeIgniter在第22行说Call to a member function table() on a non-object in C:\Program Files (x86)\EasyPHP-12.1\www\HCAWebApp\application\controllers\home.php
,即$data['users'] = $this->users->table();
行所在的位置。
我的代码出了什么问题?我认为它找不到users.php。
答案 0 :(得分:1)
您需要在通过$this->users
调用$this->load->model('users')
之前加载模型。
答案 1 :(得分:1)
查看您已加载或未加载模型的错误,首先加载它,如
$this->load->model('users');
其他..
或者如果你有很多要加载的模型使用像
这样的数组 $this->load->model(array('users','model1','model2'));
如果您想自动加载它,只需打开config/autoload.php
$autoload['model'] = array('users');
然后您现在可以将其用作$data['users'] = $this->users->table();
您还可以为模型指定不同的名称,如:
$this->load->model('users','foobar');
然后将其用作$data['users'] = $this->foobar->table();