web-dev-qa-db-fra.com

erreur de modèle de codeigniter: propriété non définie

Duplicata possible:
Erreur: obtenir la propriété du non-objet

Je suis nouveau sur le modèle codeigniter, j'essaie de suivre les étapes dans les documents pour charger tous les utilisateurs enregistrés dans ma base de données.

Voici mon modèle: user.php

class User extends Model {
     function user() {
         parent::Model();
     }
     function alluser() {
         $query = $this->db->query("select * from user limit 0,5"); //Line 30 error as in my IDE located in this line
         return $query->result();
     }
}

Voici mon contrôleur: home.php

class home extends Controller {

function index() {

    parent::Controller();

}
function alluser() {
    $this->load->model('User');
    $result = $this->User->showusers();
    if ($result->num_rows()>0) {
        foreach ($result as $row) {
            echo "ID:".$row->userid." ".$row->userpenname."<br />";
            echo $row->userfirstname." ".$row->userlastname."<br />";
        }
      }
   }
}

il montrant une erreur:

A PHP Error was encountered

Severity: Notice

Message: Undefined property: User::$db

Filename: models/user.php

Line Number: 30

Erreur fatale: appel à une requête de fonction membre () sur un non-objet dans
G:\xampp\htdocs\fiksi\system\application\models\user.php sur la ligne 30

Ligne 30, voir le commentaire ci-dessus ...

35
Vina

Vous devez d'abord charger la bibliothèque db. Dans autoload.php ajouter :

$autoload['libraries'] = array('database');

Essayez également de renommer la classe de modèle utilisateur pour "User_model".

123
Nacho
function user() { 

       parent::Model(); 

} 

=> le nom de la classe est Utilisateur, le nom de la construction est Utilisateur.

function User() { 

       parent::Model(); 

} 
1
John Hu

Il a résolu le deuxième paramètre dans la charge du modèle:

$this->load->model('user','User');

le premier paramètre est le nom de fichier du modèle et le second définit le nom du modèle à utiliser dans le contrôleur:

function alluser() 
{
$this->load->model('User');
$result = $this->User->showusers();
}
1
Vina