Heim >Backend-Entwicklung >PHP-Tutorial >yii2 unter Verwendung mehrerer Datenbankinstanzmethoden

yii2 unter Verwendung mehrerer Datenbankinstanzmethoden

小云云
小云云Original
2018-02-12 14:31:561807Durchsuche

In Bezug auf die yii2-Konfiguration und den Betrieb mehrerer Datenbanken ist die spezifische Konfiguration ebenfalls im Dokument angegeben. Ein praktisches Beispiel ist ebenfalls sehr einfach. Hier nehmen wir die Berechtigungssteuerung als einzelne Verwaltungsbibliothek dbname2 und die Geschäftsbibliothek dbname als Beispiel . Sehen wir uns an, wie man mehrere Datenbanken konfiguriert. Dieser Artikel stellt Ihnen hauptsächlich die Fälle der Verwendung mehrerer Datenbanken in yii2 vor und hofft, Ihnen dabei zu helfen.

Nr. 1: Im ersten Schritt können wir uns auf die meisten Dokumente von Baidu beziehen.


'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',
  ],
],

Nr.2. Im zweiten Schritt öffnen wir hier die Konfigurationsdatei main.php und fügen der Option authManager vier berechtigungsbezogene Datentabellenkonfigurationen hinzu.


'authManager' => [
  'class' => 'yii\rbac\DbManager',
  'defaultRoles' => ['guest'],
  'itemTable' => 'dbname2.auth_item',
  'itemChildTable' => 'dbname2.auth_item_child',
  'assignmentTable' => 'dbname2.auth_assignment',
  'ruleTable' => 'dbname2.auth_rule',
],

Tatsächlich werden hier die vier Eigenschaften der Vendoryiisoftyii2rbacDbManager.php-Klasse konfiguriert. Dies sollte mit den oben genannten übereinstimmen und die Projektkonfigurationsdatei direkt ändern.

Nr. 3. Einige Schüler haben es noch nicht gelesen. Warum ist es vorbei? Was soll ich also Ihrer Meinung nach mit meiner Benutzertabelle und meiner Menütabelle machen? Machen Sie sich keine Sorgen, werfen wir einen Blick auf den dritten Schritt:

Dieser Schritt ist auch sehr einfach wie unten beschrieben und es wird in Ordnung sein 🎜>Suchen Sie Ihre Projektdatei configparams.php, fügen Sie einfach die folgenden Konfigurationselemente hinzu


Hinweis: Warum das Konfigurationselement userTable oben blockiert ist, hängt von der Person ab Öffnen Sie zur Konfiguration die Datei „vendormdmsoftyii2-admincomponents.php“ und prüfen Sie, ob ein userTable-Attribut vorhanden ist. Wenn nicht, versuchen Sie es zu konfigurieren, um zu sehen, ob ein Fehler gemeldet wird >

Es bleibt noch ein Schritt übrig. Der letzte Schritt wird auch anhand eines Beispiels erklärt.
'mdm.admin.configs' => [
  'menuTable' => 'dbname2.menu',
  // 'userTable' => 'dbname2.user',
],


Nehmen wir die obige Benutzertabelle als Beispiel. Wenn wir gii verwenden, um eine Modelldatei User.php zu generieren, befindet sich die standardmäßig konfigurierte Tabelle in der Datenbankname-Bibliothek und unsere Benutzertabelle in dbname2-Bibliothekstabelle, daher müssen wir die tableName-Methode der User.php-Modelldatei ändern und den Bibliotheksnamen vor der Tabelle hinzufügen.


Verwandte Empfehlungen:


public static function tableName()
{
  return 'dbname.user';
}
Code für CI, der mehrere Datenbanken in PHP betreibt


So verbinden Sie mehrere Datenbanken in PHP gleichzeitig_PHP-Tutorial

PHP So schreiben Sie Abfrageanweisungen zwischen mehreren Datenbanken

Das obige ist der detaillierte Inhalt vonyii2 unter Verwendung mehrerer Datenbankinstanzmethoden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn