So verbinden Sie zwei Datenbanken, um Daten in Laravel abzufragen
Mit der kontinuierlichen Weiterentwicklung der Netzwerktechnologie sind moderne Webanwendungen heute nicht mehr wegzudenken. Bei Webanwendungen ist aber natürlich auch die Datenverwaltung ein entscheidendes Bindeglied. Darüber hinaus gibt es bei großen Webanwendungen in der Regel mehrere Datenbanken. Beispielsweise verfügt eine E-Commerce-Plattform neben der grundlegenden Produktinformationsdatenbank auch über verschiedene Datenbanken wie Benutzerinformationen, Bestellinformationen, Zahlungsinformationen usw. Wie kann man also mehrere Datenbanken verbinden und Daten unter dem Laravel-Framework abfragen? Dieser Artikel stellt eine Methode vor, die befolgt werden kann.
Zuerst müssen Sie mehrere Datenbanken in der Datenbankkonfigurationsdatei config/database.php von Laravel konfigurieren, wie unten gezeigt:
'connections' => [ 'mysql' => [ //mysql主数据库 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'db1', 'username' => 'root', 'password' => '', ], 'mysql2' => [ //mysql2次数据库 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'db2', 'username' => 'root', 'password' => '', ], ],
Mysql und mysql2 sind in der obigen Konfigurationsdatei definiert Zwei Datenbankverbindungen. Die spezifische Konfiguration kann an Ihre eigenen Bedürfnisse angepasst werden.
Als nächstes müssen Sie zwei Datenbankverbindungen definieren. Sie können im Verzeichnis /model eine neue Basisklasse ModelBase erstellen und darin mehrere Verbindungen definieren.
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; class ModelBase extends Model { // mysql protected $connection = 'mysql'; // mysql2 protected $connection2 = 'mysql2'; protected function getConnectionName() { if ($this->getConnection() === $this->connection2) { return $this->connection2; } return $this->connection; } public function getTable() { $table = parent::getTable(); if ($this->getConnection() === $this->connection2) { $table = 'db2.' . $table; } return $table; } }
Der obige Code definiert zwei Verbindungen: MySQL und MySQL2. Definieren Sie außerdem die beiden Funktionen getConnectionName und getTable. Die Funktion getConnectionName gibt den aktuellen Datenbankverbindungsnamen zurück und die Funktion getTable wird verwendet, um die aktuelle Datenbanktabelle abzurufen.
Verwenden Sie es schließlich im tatsächlichen Modell:
namespace App\Models; class UserModel extends ModelBase { protected $table = 'user'; }
Im Modell erben Sie von ModelBase, und wenn Sie $table definieren, müssen Sie nur den Tabellennamen schreiben.
Das Obige ist eine Methode zum Verbinden zweier Datenbanken, um Daten in Laravel abzufragen. Auf diese Weise können Abfragevorgänge mehrerer Datenbanken realisiert werden. Bei umfangreichen Anwendungen kann diese Methode Abfrageprobleme zwischen mehreren Datenbanken effektiv lösen, wodurch das Programm effizienter und stabiler ausgeführt wird.
Das obige ist der detaillierte Inhalt vonSo verbinden Sie zwei Datenbanken, um Daten in Laravel abzufragen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



In dem Artikel wird das Erstellen und Anpassen wiederverwendbarer UI -Elemente in Laravel mithilfe von Komponenten ermittelt, die Best Practices für die Organisation anbieten und Vorschläge für Verbesserungspakete vorschlagen.

In diesem Artikel werden die Authentifizierung und Autorisierung von OAuth 2.0 in Laravel implementiert. Es umfasst die Verwendung von Paketen wie League/OATH2-Server oder providerspezifischer Lösungen, wobei die Datenbank-Setup, die Client-Registrierung und die Autorisierungsserverkonfigurus betont werden

In dem Artikel werden Best Practices für die Bereitstellung von Laravel in Cloud-nativen Umgebungen erörtert und sich auf Skalierbarkeit, Zuverlässigkeit und Sicherheit konzentriert. Zu den wichtigsten Problemen gehören Containerisierung, Microservices, staatenlose Design- und Optimierungsstrategien.

In dem Artikel wird das Erstellen und Verwenden benutzerdefinierter Blade -Richtlinien in Laravel erläutert, um die Vorlagen zu verbessern. Es umfasst die Definition von Direktiven, die Verwendung in Vorlagen und die Verwaltung in großen Projekten, um Vorteile wie eine verbesserte Wiederverwendbarkeit von Code und R hervorzuheben

In dem Artikel wird das Erstellen und Verwenden von benutzerdefinierten Validierungsregeln in Laravel erläutert und bietet Schritte zur Definition und Implementierung. Es zeigt Vorteile wie Wiederverwendbarkeit und Spezifität und bietet Methoden zur Erweiterung des Laravel -Validierungssystems.

In diesem Artikel wird in Laravel optimale Dateien -Upload- und Cloud -Speicherstrategien in Laravel untersucht. Es untersucht lokale Speicher- und Cloud -Anbieter (AWS S3, Google Cloud, Azure, Digitalocean), die Sicherheit (Validierung, Bereinigung, HTTPS) und Leistungsopti betonen

Laravels Artisan Console automatisiert Aufgaben wie das Generieren von Code, das Ausführen von Migrationen und die Planung. Zu den wichtigsten Befehlen gehören: Controller, Migrieren und DB: Saatgut. Benutzerdefinierte Befehle können für bestimmte Anforderungen erstellt werden, um die Workflow -Effizienz zu verbessern.

In dem Artikel werden Laravels Routing verwendet, um SEO-freundliche URLs zu erstellen, die Best Practices, kanonische URLs und Tools für die SEO-Optimierung abdecken.
