CodeIgniter 3 Невозможно найти модель, которую вы указали
Я получаю эту ошибку:
Unable to locate the model you have specified: Users_model
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();
}
[...]
}
Я вызываю его из контроллера следующим образом:
$this->load->model('users_model');
Интересно, что он работает на локальном сервере mongoose, но не тогда, когда я развертываю его на сервере heroku.
Ответы
Ответ 1
Ваш git может быть настроен на игнорировать изменения в файле в именах файлов. Эффект от этого: любые локальные изменения имени файла, который имеет уже развернутый (т.е. Только изменен), не отражаются в удаленном репозитории (heroku).
Например, если вы сначала развернули файл с именем users_model.php
все строчные. Даже если вы измените локальную версию файла на users_model.php
с заглавной буквы "U", пульт не отразит это изменение.
Как решить проблему. Чтобы сообщить git об обновлении имени файла, выполните следующую команду:
git config core.ignorecase false
Спасибо @Kamram за то, что заставило меня понять это и @FeanDoe за то, что я ответил на вопрос.
Ответ 2
Попробуйте это.
- В вашей модели имя файла должно быть
users_model.php
.
-
внутренняя модель должна быть (Users_Model)
class Users_Model extends CI_Model{}
.
-
При вызове используйте $this->load->model('Users_Model');
Ответ 3
в папке "приложение/модели" вам следует изменить имя файла с "users_model.php" на "Users_model.php"