模型自动加载在CodeIgniter中不起作用

时间:2015-05-15 14:02:28

标签: php codeigniter heroku

我是这样的自动加载模型:

$autoload['model'] = array('user_model','article_model','settings_model','authenticate_model');

我有下一个文件:

  

模型/ user_model.php:

<?php 
class User_model extends CI_Model {

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

?>

出现下一个错误:

  

无法找到您指定的模型:User_model

如果直接访问此文件:

  

您无权访问此服务器上的/application/models/user_model.php。

那么可能导致问题的原因是什么?

3 个答案:

答案 0 :(得分:0)

正如@BeatAlex所说,这是我的模型的第一个字母是小写的问题。但出于某种原因,我之前更改了名称,并使用此命令使用git推送它:

git commit -a -m "broke everythink"; git push heroku master

它没有更改文件的名称。

我必须删除文件,推送更改,然后再次创建它们并再次推送它们,现在它正在工作。

答案 1 :(得分:0)

  1. 使模型类名称为大写My_model
  2. 使模型php文件名为Lowercase&#34; my_model&#34;
  3. 使用小写(文件名)$this->load->model('my_model');
  4. 加载模型

    https://stackoverflow.com/a/22634263/1705099

答案 2 :(得分:0)

  1. 将您的模型文件命名为 U ser_model.php(注意大写U)
  2. 将autoload.php中的代码更改为以下内容(再次注意User_model中的大写字母U):$autoload['model'] = array('User_model'...
  3. 确保User_model.php文件具有正确的权限,即755
  4. 您现在应该可以通过$this->User_model->somefunction();
  5. 使用该模型了