Maison > Article > développement back-end > yii2 utilisant plusieurs méthodes d'instance de base de données
Concernant la configuration de yii2 et le fonctionnement de plusieurs bases de données, la configuration spécifique est également donnée dans le document. Un exemple pratique est également très simple. Ici, nous prenons le contrôle des autorisations comme bibliothèque de gestion unique dbname2 et la bibliothèque métier dbname comme exemple. . Voyons comment configurer plusieurs bases de données. Cet article vous présente principalement les cas d'utilisation de plusieurs bases de données dans yii2, en espérant vous aider.
No1. Dans un premier temps, on peut se référer à la plupart des documents de Baidu pour opérer.
'components' => [ 'db' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=ip;dbname=dbname', 'username' => 'username', 'password' => 'pwd', 'charset' => 'utf8', ], 'db2' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=ip;dbname=dbname2', 'username' => 'username', 'password' => 'pwd', 'charset' => 'utf8', ], ],
No2. Dans la deuxième étape, nous ouvrons ici le fichier de configuration main.php et ajoutons quatre configurations de table de données liées aux autorisations à l'option authManager.
'authManager' => [ 'class' => 'yii\rbac\DbManager', 'defaultRoles' => ['guest'], 'itemTable' => 'dbname2.auth_item', 'itemChildTable' => 'dbname2.auth_item_child', 'assignmentTable' => 'dbname2.auth_assignment', 'ruleTable' => 'dbname2.auth_rule', ],
En fait, les quatre propriétés de la classe supplieryisoftyi2rbacDbManager.php sont configurées ici. Cela devrait être cohérent avec ce qui précède et modifier directement le fichier de configuration du projet.
N°3. C'est presque fini ici. Certains élèves ont des questions, je ne l'ai pas encore lu, alors pourquoi c'est fini ? Alors, que pensez-vous que je devrais faire avec ma table utilisateur et ma table de menu ? Ne vous inquiétez pas, jetons un œil à la troisième étape :
Cette étape est également très simple. Nous pouvons simplement la configurer comme ci-dessous et tout ira bien
'mdm.admin.configs' => [ 'menuTable' => 'dbname2.menu', // 'userTable' => 'dbname2.user', ],Remarque, pourquoi l'élément de configuration userTable est bloqué ci-dessus, cela dépend de l'individu Pour la configuration, ouvrez le fichier suppliermdmsoftyii2-admincomponentsConfigs.php et vérifiez s'il existe un attribut userTable. Si c'est le cas, vous devez le configurer ici. Sinon, essayez de le configurer pour voir s'il signalera une erreur. >
Il reste encore une étape. Enfin, la dernière étape est également expliquée avec un exemple.
Prenons l'exemple de la table utilisateur ci-dessus. Si nous utilisons gii pour générer un fichier modèle User.php, car la table configurée par défaut se trouve dans la bibliothèque dbname et notre table utilisateur se trouve dans la bibliothèque. table de bibliothèque dbname2, nous devons donc modifier la méthode tableName du fichier modèle User.php et ajouter le nom de la bibliothèque devant la table.
Recommandations associées :
public static function tableName() { return 'dbname.user'; }
Code pour CI exploitant plusieurs bases de données en php
Comment connecter plusieurs bases de données en PHP en même temps_Tutoriel PHP
PHP Comment écrire des instructions de requête entre plusieurs bases de données
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!