2015-05-24 14 views
10

sto ottenendo questo errore:CodeIgniter 3 Impossibile individuare il modello è stato specificato

Unable to locate the model you have specified: Users_model 

CodeIgniter è la versione 3. Il nome del file è Users_model.php. Si trova a application\models e va in questo modo:

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

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

[...] 
} 

sto chiamando da un controller del genere:

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

Abbastanza interessante, funziona su un server mangusta locale, ma non quando ho distribuirlo su un server heroku.

+0

prova maiuscola. '$ this-> load-> model ('Users_model');' – Kamran

+0

Che funziona localmente, entrambe le iniziali maiuscole e minuscole. In realtà ho provato tutti i tipi di combinazioni di superiore/inferiore. Ma nessuno funziona su heroku, è come se non trovasse davvero il file. – sthiago

+0

ha funzionato tutti gli altri modelli? prova a caricare automaticamente questo modello. e assicurati che il file 'User_model' sia distribuito su heroku. – Kamran

risposta

9

vostro git può essere configurato per ignorare caso cambia nei nomi di file. L'effetto di questo è: qualsiasi modifica locale a un nome file di un file che ha già distribuito (ovvero viene solo modificato) non viene eseguito il mirroring sul repository remoto (heroku).

Ad esempio, se per la prima volta è stato distribuito un file con il nome users_model.php tutto in minuscolo. Anche se si modifica la versione locale del file in Users_model.php con la 'U' in maiuscolo, il telecomando non rispecchierà questa modifica.

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

git config core.ignorecase false

Grazie a @Kamram per avermi fatto capire questo e @FeanDoe per aver suggerito che rispondo alla domanda.

+0

Ciao amico, puoi aiutarmi, sono principiante con codeigniter, dove si trova git file? –

5

Prova questo.

  1. nel modello nome del file dovrebbe essere users_model.php.
  2. all'interno modello Va (Users_Model)

    class Users_Model extends CI_Model{}.

  3. Quando si chiama uso $this->load->model('Users_Model');

+0

queste regole sono un cambiamento rispetto alle versioni precedenti di codeigniter? Non ho usato il codeigniter dalla v2.x e mi rendo conto che hanno apportato modifiche in merito alla maiuscola delle lettere nei nomi dei file ecc. grazie – Dan

+1

In codeigniter 3, users_model.php dovrebbe essere in maiuscolo come Users_model.php –

0

nella cartella "application/modelli" si dovrebbe cambiare il nome del file da "users_model.php" a "Users_model.php"

Problemi correlati