我知道平台上有关此问题的其他问题,但我对此有一个非常不寻常的问题。
我有一个模型Company_Model.php
,它在autoload.php
中自动加载,而类是这样构建的:
Class Company_Model extends CI_Model {
function __construct()
{
parent::__construct();
}
public function foo()
{
echo 'bar';
}
}
但是,当我加载页面时,我仍然收到此错误:
我在Ubuntu 14.04上运行Apache 2,PHP 5.5.9,我找不到这个问题的错误日志,现在我感到困惑,任何帮助都会感激不尽。
我已经检查了大写和来自StackOverflow的所有其他提示,但仍然没有快乐。
自动加载代码
$autoload['model'] = array('company_model');
答案 0 :(得分:11)
当你使用codeigniter 3时,你必须确保你的类名和文件名只有首字母大写,如下所述
<?php
class Company_model extends CI_Model {
}
然后文件名应为 Company_model.php
$autoload['model'] = array('company_model');
如果在子文件夹中
模型&gt;子文件夹&gt; Company_model.php
$autoload['model'] = array('subfolder/company_model');
如果只需要在控制器上调用
$this->load->model('company_model');
$this->company_model->function();
子文件夹
$this->load->model('subfolder/company_model');
$this->company_model->function();
答案 1 :(得分:0)
确保您的班级名称和文件名应相同,并且首字母应为Capital
示例强>
class Login extends CI_Model{
//some code
}
上面的代码,您可以看到班级 Login
第一个字母是您保存模型文件名的capital.same名称,例如 Login.php 项目文件夹的模型目录