Dans quelle fonction / classe le dbprefix est-il ajouté au nom de la table dans les demandes d'enregistrement actif de Codeigniter?
-
28-10-2019 - |
Question
Dans quelle fonction / classe le dbprefix est-il ajouté au nom de la table dans les demandes d'enregistrement actif Codeigniter?
J'ai besoin de changer dynamiquement le préfixe en fonction du nom de la table mais je ne trouve pas la fonction qui ajoute le préfixe en premier lieu.
DB_active_rec.php a une fonction dbprefix () mais cela semble n'avoir aucun effet.
La solution
Cela dépend du pilote que vous utilisez, et il se trouve probablement également à quelques endroits de ce pilote.
Essayez la méthode set_dbprefix()
du fichier DB_active_rec.php pour le remplacer.Cela deviendra très compliqué (en gardant une trace de la table que vous interrogez), et je recommanderais plutôt de changer votre schéma.
Autres conseils
Une ligne tirée du site de codeigniter
$this->db->set_dbprefix('newprefix');
Dans application / config / database.php, vous pouvez définir une variable de préfixe.Chaque fois que vous utilisez Active Records, le préfixe est ajouté.