CodeIgniter charger la base de données dans le Contrôleur ou le Modèle?
Modèle :
class Users_model extends CI_Model {
function __construct() {
parent::__construct();
$this->load->database();
}
public function get_all_users() {
return $this->db->get('users');
}
}
Contrôleur :
class Users extends CI_Controller {
function __construct() {
parent::__construct();
$this->load->helper('form');
$this->load->helper('url');
$this->load->helper('security');
$this->load->model('Users_model');
}
public function index() {
redirect('users/view_users');
}
public function view_users() {
$data['query'] = $this->Users_model->get_all_users();
$this->load->view('users/view_all_users', $data);
}
}
Ma question est: où dois-je mettre le $this->load->base de données? Dans le Modèle ou le Constructeur? Si possible me dire pourquoi?
Et encore une question, si je omettre le $this->load->base de données, l'erreur affichée
"Undefined property: Utilisateurs::$db". Je m'attends à "Undefined property:
Users_model::$db".
Pourquoi est-ce? Est à la recherche de l' $db dans les deux contrôleur ou le modèle?
Je vous remercie.
Note: je peux me connecter à la base de données de l'amende juste. Ce que je fait poser est de savoir si je veux utiliser $this->load->base de données(). Où dois-je le mettre? Contrôleur ou le Modèle? Et pourquoi?
- visitez ici : la Connexion à votre Base de données
- avez-vous configuré la base de données d'informations dans
database.php
fichier? Le fichier de configuration est situé àapplication/config/database.php
pour plus d'info visitez le site ici
Vous devez vous connecter pour publier un commentaire.
Aller à
autoload.php
dansapplication/config/autoload.php
et ajouter ce$autoload['libraries'] = array('database'); //add database in array(now you dont need to load database at anywhere in project)
Faire de la base de données des paramètres de connexion dans
database.php
, fichier situé àapplication/config/database.php
maintenant, essayez cette
Vous pouvez soit charger la base de données dans le contrôleur, ou vous pouvez le charger dans le modèle.
Il n'y a pas beaucoup de différence à sa juste plus propre et que toutes les interactions dans la base de données est dans le modèle et les contrôleurs de celui qui relie les deux points de vue et le modèle.
Le contrôleur est ici comme un intermédiaire entre l'acheteur et le vendeur.
charger la base de données dans le contrôleur
charger la base de données dans le modèle