CodeIgniter 3无法找到您指定的模型

sth*_*ago 10 php codeigniter heroku

我收到这个错误:

Unable to locate the model you have specified: Users_model
Run Code Online (Sandbox Code Playgroud)

CodeIgniter是版本3.文件名是Users_model.php.它位于,application\models它是这样的:

defined('BASEPATH') OR exit('No direct script access allowed');
class Users_model extends CI_Model {

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

[...]
}
Run Code Online (Sandbox Code Playgroud)

我是从这样的控制器调用它:

$this->load->model('users_model');
Run Code Online (Sandbox Code Playgroud)

有趣的是,它适用于本地的mongoose服务器,但是当我将它部署到heroku服务器时却没有.

sth*_*ago 10

您的git 可能配置为忽略文件名中的大小写更改.这样做的结果是:对已经部署(即仅被修改)的文件的文件名的任何本地更改都不会镜像到远程存储库(heroku)上.

例如,如果您首次部署名称users_model.php全部为小写的文件.即使您将文件的本地版本更改为Users_model.php大写的"U",远程也不会反映此更改.

如何解决:告诉git更新文件名大小写更改,运行以下命令:

git config core.ignorecase false

感谢@Kamram帮我解决这个问题,感谢@FeanDoe建议我回答这个问题.


Abd*_*lam 5

试试这个.

  1. 在你的模型文件名应该是users_model.php.
  2. 内部模型应该是(Users_Model)

    class Users_Model extends CI_Model{}.

  3. 当你打电话使用 $this->load->model('Users_Model');