2015-05-24 15 views
10

Dostaję taki błąd:CodeIgniter 3 Nie można zlokalizować model został określony

Unable to locate the model you have specified: Users_model 

CodeIgniter jest wersja 3. Nazwa pliku jest Users_model.php. Znajduje się na application\models i to idzie tak:

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

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

[...] 
} 

Wołam go ze sterownika jak ten:

$this->load->model('users_model'); 

Co ciekawe, to działa na lokalnym serwerze mangusty, ale nie kiedy wdrożyć go na serwerze heroku.

+0

try wielkie. '$ this-> load-> model ('Users_model');' – Kamran

+0

Działa to lokalnie, zarówno inicjałami dużymi, jak i małymi literami. Właściwie próbowałem różnych kombinacji górnych/dolnych. Ale żaden nie działa na heroku, to tak, jakby naprawdę nie znalazł pliku. – sthiago

+0

czy wszystkie inne modele działają poprawnie? spróbuj załadować ten model automatycznie. i upewnij się, że plik 'User_model' został wdrożony na heroku. – Kamran

Odpowiedz

9

Twój git może być skonfigurowany do zignorować przypadek zmienia w nazwach plików. Efektem tego jest: wszystkie lokalne zmiany nazwy pliku w pliku, który został już rozmieszczone (to jest tylko modyfikowane) nie są odwzorowywane na zdalnym repozytorium (Heroku).

Na przykład, jeśli najpierw wdrożony plik o nazwie users_model.php wszystko małymi literami. Nawet jeśli zmienisz lokalną wersję pliku na Users_model.php z wielką literą "U", pilot nie będzie odzwierciedlał tej zmiany.

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

git config core.ignorecase false

Dziękuję @Kamram za sprawienie, że wymyślę to i @FeanDoe za sugestię, że odpowiem na pytanie.

+0

Cześć przyjacielu, możesz mi pomóc, jestem początkującym z codeigniter, gdzie znajduje się plik git? –

5

Spróbuj tego.

  1. w modelu nazwy pliku powinny być users_model.php.
  2. wewnątrz modelu powinny być (Users_Model)

    class Users_Model extends CI_Model{}.

  3. Kiedy dzwonisz Użyj $this->load->model('Users_Model');

+0

czy te zasady są zmianą w porównaniu z poprzednimi wersjami codeigniter? Nie używałem codeigniter od v2.x i zdaję sobie sprawę, że dokonały zmian w odniesieniu do wielkich liter w nazwach plików itp. dzięki – Dan

+1

W codeigniter 3, users_model.php powinno być pisane wielką literą jak Users_model.php –

0

w folderze "application/modele" należy zmienić nazwę pliku z "users_model.php" do "Users_model.php"

Powiązane problemy