Codeigniter 3 - 无法找到您指定的模型

时间:2015-07-10 09:01:01

标签: php codeigniter

我知道平台上有关此问题的其他问题,但我对此有一个非常不寻常的问题。

我有一个模型Company_Model.php,它在autoload.php中自动加载,而类是这样构建的:

Class Company_Model extends CI_Model {

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

    public function foo()
    {
        echo 'bar';
    }
}

但是,当我加载页面时,我仍然收到此错误:

Codeignter 3 - Unable to locate the model you have specified

我在Ubuntu 14.04上运行Apache 2,PHP 5.5.9,我找不到这个问题的错误日志,现在我感到困惑,任何帮助都会感激不尽。

我已经检查了大写和来自StackOverflow的所有其他提示,但仍然没有快乐。

修改

自动加载代码

$autoload['model'] = array('company_model');

2 个答案:

答案 0 :(得分:11)

当你使用codeigniter 3时,你必须确保你的类名和文件名只有首字母大写,如下所述

Class Naming Style Guide

Filename Style Guide

<?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 项目文件夹的模型目录