web-dev-qa-db-fra.com

CodeIgniter 3 Impossible de localiser le modèle que vous avez spécifié

Je reçois cette erreur:

Unable to locate the model you have specified: Users_model

CodeIgniter est la version 3. Le nom du fichier est Users_model.php. Il se trouve à application\models et se présente comme suit:

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

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

[...]
}

Je l’appelle depuis un contrôleur comme celui-ci:

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

Fait intéressant, cela fonctionne sur un serveur local de mangouste, mais pas lorsque je le déploie sur un serveur heroku.

10
sthiago

Votre git peut être configuré pour ignorer les modifications de la casse dans les noms de fichiers. Cela a pour effet que: toute modification locale apportée à un nom de fichier d'un fichier comportant déjà déployé (c'est-à-dire en cours de modification) n'est pas reflétée sur le référentiel distant (heroku).

Par exemple, si vous avez d'abord déployé un fichier portant le nom users_model.php tout en minuscule. Même si vous modifiez la version locale du fichier en Users_model.php avec le «U» en majuscule, la télécommande ne reflétera pas ce changement.

Comment le résoudre: pour indiquer à git de mettre à jour les modifications de casse de nom de fichier, exécutez la commande suivante:

git config core.ignorecase false

Merci à @Kamram de m'avoir fait comprendre cela et à @FeanDoe d'avoir suggéré que je réponde à la question.

10
sthiago

Essaye ça.

  1. Dans votre modèle le nom du fichier devrait être users_model.php.
  2. dans le modèle il devrait être ( Users_Model )

    class Users_Model extends CI_Model{}.

  3. Lorsque vous appelez, utilisez $this->load->model('Users_Model');

5
Abdulla Nilam

dans le dossier "application/models" vous devez changer le nom de votre fichier de "users_model.php" en "Users_model.php"

0
Amit