Codeigniter - plusieurs connexions de base de données
J'ai un problème avec plusieurs db connexions à Codeigniter. À mon database.php j'ai configuré les deux bases de données.
$active_group = 'cms';
$active_record = FALSE;
$db['cms']['hostname'] = 'localhost';
$db['cms']['username'] = 'yoloo_cms';
$db['cms']['password'] = 'password';
$db['cms']['database'] = 'yoloo_cms';
$db['cms']['dbdriver'] = 'mysql';
$db['cms']['dbprefix'] = '';
$db['cms']['pconnect'] = TRUE;
$db['cms']['db_debug'] = TRUE;
$db['cms']['cache_on'] = FALSE;
$db['cms']['cachedir'] = '';
$db['cms']['char_set'] = 'utf8';
$db['cms']['dbcollat'] = 'utf8_general_ci';
$db['cms']['swap_pre'] = '';
$db['cms']['autoinit'] = TRUE;
$db['cms']['stricton'] = FALSE;
$db['hazeleger']['hostname'] = 'localhost';
$db['hazeleger']['username'] = 'yoloo_websites';
$db['hazeleger']['password'] = 'password2';
$db['hazeleger']['database'] = 'yoloo_hazeleger';
$db['hazeleger']['dbdriver'] = 'mysql';
$db['hazeleger']['dbprefix'] = '';
$db['hazeleger']['pconnect'] = TRUE;
$db['hazeleger']['db_debug'] = TRUE;
$db['hazeleger']['cache_on'] = FALSE;
$db['hazeleger']['cachedir'] = '';
$db['hazeleger']['char_set'] = 'utf8';
$db['hazeleger']['dbcollat'] = 'utf8_general_ci';
$db['hazeleger']['swap_pre'] = '';
$db['hazeleger']['autoinit'] = TRUE;
$db['hazeleger']['stricton'] = FALSE;
À mon modèle je l'utiliser quand je veux me connecter à un autre db que l'habituel:
function __construct()
{
parent::__construct();
$this->load->database('hazeleger',TRUE);
}
Mais à tous les temps codeigniter se connecte à la cms. Quand j'enlève
$active_group = 'cms';
$active_record = FALSE;
Codeingiter donne une erreur. Quand j'ai essayé cette
function __construct()
{
parent::__construct();
$db2 = $this->load->database('hazeleger',TRUE);
}
function test()
{
$query = "SELECT * FROM cms_modules";
$result = $db2->db->query($query);
return $db2->result();
}
Il donne une erreur. Variabele db2 n'existe pas.
J'ai juste envie de choisir, à chaque modèle, ce qui en db je veux me connecter.
Mais est ne,t de travail. Est-ce que qqn sait comment je peux travailler avec les différentes bases de données
lors de modèles de.
Merci beaucoup!!
Vous devez vous connecter pour publier un commentaire.
Vous devez enregistrer la variable $db2 comme un champ de classe. Vous pouvez accéder à $this->db2 ...
Cela se produit parce que vous avez probablement mis dans /application/config/autoload.php
que la base de données de la bibliothèque est chargé automatiquement créés.
Ouvrir autoload.php et recherchez la ligne:
Supprimer "base de données" à partir du tableau et de les enregistrer. Maintenant il faut travailler dans vos contrôleurs comme prévu.
pour les futurs visiteurs de référence, la charge peut être le long de ces lignes:
Vous devez changer db2 classe