Modèle chargé dans Codeigniter constructeur du contrôleur n'est pas disponible par d'autres fonctions de contrôleurs de même
Mon modèle: comme on le voit ci-dessous, très basique,
class User extends CI_Model
{
function __construct()
{
parent::__construct();
}
function getAll()
{
$this->db->order_by("lastName", "asc");
$this->db->order_by("firstName", "asc");
$this->db->order_by("userName", "asc");
$query = $this->db->get('user');
//test for result
if($query->num_rows() > 0)
{
return $query->result();
}
return NULL;
}
}
Mon contrôleur: fait partie de mon contrôleur, chaque fois que le chargement de la part des utilisateurs/fonction d'affichage par défaut de l'itinéraire, l'erreur (plus bas) s'affiche. Si un modèle chargé dans le contrôleur du constructeur sera disponible pour tous les autres fonctionnent de la même contrôleur?
class Users extends CI_Controller
{
function __contruct()
{
parent::__construct();
$this->load->model('user');
}
function display()
{
$data['users'] = $this->user->getAll();
$head['pageTitle'] = 'Users Panel';
$this->load->view('security/redirect');
$this->load->view('template/head', $head);
$this->load->view('user/usersPanel', $data);
$this->load->view('template/foot');
}
}
Mon erreur: vous reportant à la ligne "$data['utilisateurs'] = $this->user->getAll()", dans au-dessus de contrôleur de
A PHP Error was encountered
Severity: Notice
Message: Undefined property: Users::$user
Mon environnement:
Codeigniter 2.1.0;
Mac Lion;
MAMP 2.0;
OriginalL'auteur user1082522 | 2011-12-06
Vous devez vous connecter pour publier un commentaire.
Ne devrait pas ceci:
être comme ceci:
remplacer contruct avec de construire.
et Yasky essayez de regarder de près la réponse. Le premier contruct sans. ensuite, sur le second il y a un s. 😀
J'ai orthographié les mêmes. Et j'ai aussi ne pouvait pas voir la différence après l'avoir regardé 10 fois.
pourquoi se contenter de dire "vous avez une faute de frappe" ....
OriginalL'auteur kowakin
Ne devrait pas ceci:
être ceci:
désolé
aussi le nom de modèle:
$this->load->model('user_model');
et le nom de classe User_model s'étend CI_Model
Tous mes projets CI sont fixés de cette manière.
http://codeigniter.com/user_guide/general/models.html
Avez-vous essayé de capital
User_model
dans le fichier de modèle et$this->user_model
(en minuscules) dans le contrôleur?bien sûr, je l'ai fait, et le triple de la vérifier.
Êtes-vous à l'aide d'un modèle personnalisé de classe? Mon implant modèles de projet d'étendre le Modèle, et pas CI_Model.
OriginalL'auteur Kai Qing