Ich weiß nicht, ob es sich dumm oder doppelte Frage klingt. Aber ich versuche, in meinem Projekt zu mehreren Datenbanken zu wechseln. Jedes Unternehmen sollte eine bestimmte Datenbank haben. Und jedes Unternehmen sollte unterschiedliche Arten von Benutzern haben (ich meine Benutzer, die unterschiedliche Rollen haben). Alle Datenbanken haben dieselbe Struktur, aber unterschiedliche Daten. Ist es möglich, zu einer anderen Datenbank zu springen? Wenn es ist, wie?yii2 mehrere Datenbank-Authentifizierung
0
A
Antwort
1
möglich mehrere Möglichkeiten
eine Möglichkeit, auf verschiedenen db componente Erklärung basiert in Ihnen confing
return [
'components' => [
'db_default' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=mydb_default',
'username' => 'my_username_default',
'password' => 'my_password_default',
],
'db1' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=mydb1',
'username' => 'my_username1',
'password' => 'my_password1',
],
'db2' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=mydb2',
'username' => 'my_username2',
'password' => 'my_password2',
],
....
],
];
dann können Sie alle Ihre Klasse erweitern Neudefinition der getDb Funktion
class Customer extends ActiveRecord
{
// ...
public static function getDb()
{
// you could check some application condition for get the db you need
// use the "db2" application component
switch ($my_condition) {
case 'condition_1':
return \Yii::$app->db1;
break;
case 'condition_2':
return \Yii::$app->db2;
break;
default:
return \Yii::$app->db_default;
break;
}
}
}
ein anderes Weg ist die Verbindung zu db dynamisch
erstellenIn $ Modelle sollten Sie alle Modelle der Tabelle, aus der in Verbindung zugewiesen Datenbank ausgewählt haben Sie den Inhalt von $ Modelle zB überprüfen können: mit var_dump ($ Modelle)
Verwandte Themen
- 1. Anmeldung mit Datenbankauthentifizierung
- 2. Datenbankauthentifizierung für Intranet-Anwendungen
- 3. Trac mit Datenbankauthentifizierung
- 4. Firebase: Fehler bei der Datenbankauthentifizierung
- 5. Yii2 Mehrere Cachespeicher
- 6. Yii2 mehrere orFilterWhere
- 7. Mehrere Joins in Yii2
- 8. Yii2 viaTable mehrere Variablen
- 9. Validate mehrere Dropdown yii2
- 10. yii2 ActiveRecord mehrere wo
- 11. Mehrere Datenbanken Verbindung auf yii2
- 12. yii2 mehrere Filter in Suchmodell
- 13. Spring Security 3 Datenbankauthentifizierung mit Hibernate
- 14. Fehler mit Echtzeit-Datenbankauthentifizierung in Feuerbasis
- 15. Yii2 GridView mehrere Zeilen für einen Datensatz
- 16. Yii2 mehrere Datensätze in andere Tabelle einfügen
- 17. Yii2 Join Beziehungen für mehrere Tabellen
- 18. Yii2 mehrere Modelle Schleife speichern Fehler
- 19. Mehrere Modelle in einem Modell Yii2
- 20. Yii2 Gültigkeitsregel in Modell hat mehrere Szenarien
- 21. Yii2 hasmany Zustand und mehrere Tabelle
- 22. Wie schreibe ich mehrere Relationen in Yii2?
- 23. Yii2 Assets über mehrere Server hinweg
- 24. mehrere Datei-Upload funktioniert nicht in yii2
- 25. So laden Sie mehrere Dateien mit Yii2
- 26. Mehrere zusätzliche Spalten hinzufügen mit Yii2 Migration
- 27. Yii2. Mehrere Modellartikel in einem Formular
- 28. Yii2 - Mehrere Dropzone Widget funktioniert nicht
- 29. Erstellen Sie mehrere Modelle über ActiveForm Yii2
- 30. Mehrere Datensätze einer Tabelle einfügen Yii2
Wie Verbindung dynamisch ändern ?? ? – Sherzod
Tun Sie mir einen kleinen Gefallen Mann. Beschreibe, wie man sich dynamisch ändert ?? – Sherzod
Wenn Sie eine andere Datenbank verbinden müssen, können Sie die offene Verbindung schließen und eine neue erstellen .. http://www.yiiframework.com/doc-2.0/yii-db-connection.html http: // www. yiiframework.com/doc-2.0/guide-db-dao.html – scaisEdge