2015-05-24 3 views
10

Я получаю эту ошибку: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'); 

Интересно, что он работает на локальном сервере мангустов, но не тогда, когда я разверните его на сервере heroku.

+0

Ьгу прописные. '$ this-> load-> model ('Users_model');' – Kamran

+0

Это работает локально, как старшие, так и строчные. На самом деле я пробовал всевозможные комбинации верхнего/нижнего. Но никто не работает на героку, это похоже на то, что он действительно не находит файл. – sthiago

+0

все остальные модели работают нормально? попробуйте автозагрузить эту модель. и убедитесь, что файл 'User_model' развернут на heroku. – Kamran

ответ

9

Ваш мерзавец может быть сконфигурировано для игнорировать случай изменения в именах файлов. Эффект от этого: любые локальные изменения в имени файла, имеющего , уже развернуты. (т. Е. Только модифицируется) не отражаются в удаленном репозитории (heroku).

Например, если вы впервые развернули файл с именем users_model.php, то все строчные буквы. Даже если вы измените локальную версию файла на Users_model.php с заглавной буквы «U», пульт не отразит это изменение.

How to solve it: to tell git to update filename case changes, run the following command:

git config core.ignorecase false

Благодаря @Kamram заставила меня понять это и @FeanDoe предполагать, что я отвечу на этот вопрос.

+0

Привет, друг, вы можете мне помочь, я начинаю с codeigniter, где находится git-файл? –

5

Попробуйте это.

  1. В вашей модели имя файла должно быть users_model.php.
  2. внутри модели она должна быть (Users_Model)

    class Users_Model extends CI_Model{}.

  3. При вызове Используйте $this->load->model('Users_Model');

+0

Эти правила - это изменения от предыдущих версий кодерификатора? Я не использовал codeigniter с v2.x, и я понимаю, что они внесли изменения в отношении заглавных букв в именах файлов и т. д. спасибо – Dan

+1

В codeigniter 3, users_model.php должен быть капитализирован как Users_model.php –

0

в папке "приложения/модели" вы должны изменить имя файла из "users_model.php" к "Users_model.php"

Смежные вопросы