CodeIgniter PHP Model Access "Невозможно найти указанную модель" - PullRequest
37 голосов
/ 10 ноября 2011

Я пытался загрузить некоторые модели для этого веб-сайта, который я строю. Однако по неизвестной причине это приведет к следующей ошибке:

An Error Was Encountered

Unable to locate the model you have specified: logon_model

Теперь я провел исследование. Проблема заключается в том, что IC обрабатывает имена файлов в нижнем регистре. Тем не менее, как мой файл, так и вызов файла в нижнем регистре, как показано здесь:

echo "VALIDATING";
            // Validation passed. Off we go to account info verification from AA's database. God help us all.
            $this->load->model('logon_model');
            echo "FOUND MODEL";
            $res = $this->logon_model->verify_user($this->input->post('username'),$this->input->post('password'));
            echo $this->input->post('username');
            echo $this->input->post('password');

Выполнение не достигает «НАЙДЕННОЙ МОДЕЛИ», таким образом останавливается при загрузке модели. Я пытался использовать:

 $this->load->model(site_url('logon_model'));

Без результатов. Необходимо упомянуть, что файл модели правильно размещен в нужной папке модели?

Как я могу это исправить?

РЕДАКТИРОВАТЬ: Заголовок для файла модели:

class Logon_model extends CI_Model {

....

Ответы [ 14 ]

1 голос
/ 09 апреля 2016

У меня возникла та же проблема, но я исправил ее, изменив файл application / config / rout.php.

Я произвел некоторую реструктуризацию каталогов контроллера и забыл применить ее к файлу маршрутов.

Ранее:

$route['application/apply'] = 'ex/application/account/create';

и сейчас:

$route['application/apply'] = 'application/account/create';

0 голосов
/ 01 ноября 2018

Измените имя файла вашей модели, начните с заглавной буквы, например: Logon_model.php

Это происходит, когда мы переносим наш проект с сервера Windows на сервер LINUX, потому что linux чувствителен к регистру, а окна - нет.

Итак, в Windows, даже если имя файла не пишется в верхнем регистре, оно также будет работать нормально, но не в Linux.

0 голосов
/ 27 декабря 2017

Убедитесь, что:

  1. Первая буква в верхнем регистре
  2. Точное имя имени класса в качестве имени файла
  3. Убедитесь, что ваш файл заканчивается расширением .php

В моем случае у меня были правильные значения 1 и 2, но я забыл назвать свой файл с расширением .php.Как я забыл, понятия не имею, но это наверняка доставило мне немало хлопот, пытаясь разобраться в проблеме

0 голосов
/ 05 октября 2017

Просто добавив мою проблему, у меня было:

$this->load->model("planning/plan_model.php");

и .php не должно быть там, поэтому должно было быть:

$this->load->model("planning/plan_model");

надеюсь, это кому-нибудь поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...