Ich erstelle eine Anwendung, die Informationen aus verschiedenen Datenbanken liest, aber keine eigene Datenbank hat, da nirgendwo Informationen geschrieben werden.
Grundsätzlich wählt ein Benutzer einen Datensatz und einen Typ aus, und die Anwendung generiert basierend auf ihren Auswahlmöglichkeiten eine .pdf
-Datei. Ich habe mehrere Verbindungen in app/config/database.php
definiert, aber ich möchte keine Verbindung zu ihnen herstellen. Gibt es eine Möglichkeit, Laravel nicht mitzuteilen, eine Verbindung zu einer Datenbank herzustellen? Ich habe ein paar Dinge ausprobiert (alles in app/config/database.php
), zuerst einmal:
Was beide zurückgeben:
Undefinierter Index: Treiber
Ich habe es auch versucht:
%Vor%welches wiederum zurückgibt:
Nicht unterstützter Treiber []
Nicht unterstützter Host []
...
Und schließlich setzen Sie 'default' => ''
, was zurückgibt:
Datenbank [] nicht konfiguriert.
Ich habe Wege gefunden, Laravels Modelle ohne eine Datenbankverbindung zu verwenden, aber nicht wirklich Laravel selbst.
Bearbeiten :
Die Verbindung zu einer bestehenden mysql-Verbindung einstellen und keine Datenbank auswählen funktioniert:
%Vor%Aber ich bin mir nicht sicher, ob das der richtige Weg ist. Es fühlt sich an wie ein Work-Around und keine tatsächliche Lösung.
Ich würde Folgendes tun:
%Vor% und für die sqlite
Verbindungseinstellungen
Auf diese Weise wird eine In-Memory-Datenbank verwendet, und die Datenbank wird nicht mehr existieren, wenn die Datenbankverbindung hergestellt wird ist geschlossen, und da Sie keine Verbindung öffnen, haben Sie nie eine lokale Datenbank geöffnet.
Sie können den Datenbankdienstanbieter auch aus Ihrer app.php
config-Datei entfernen:
und die Fassaden für Fluent und Eloquent in der gleichen Datei:
%Vor% verhindert, dass Sie sich mit lokalen Datenbanken verbinden können und nicht einmal die soeben eingerichtete sqlite
-Datenbankverbindung booten.
Definieren Sie einfach Ihren Datenbanktreiber als 'sqlite' in der Datenbankkonfiguration.
%Vor%Solange Sie im Standardabschnitt sqlite config nichts geändert haben, sollte alles funktionieren. Sie müssen die Datenbank nicht unbedingt verwenden, aber sie wird die Fehler beheben, die Sie erhalten haben.
Falls Sie die Standard-SQLite-Konfiguration aus irgendeinem Grund geändert haben, können Sie die folgenden Schritte ausführen, um die SQLite-Datenbank zu konfigurieren.
%Vor%Stellen Sie außerdem sicher, dass diese 'production.sqlite'-Datei vorhanden ist, falls dies nicht bereits der Fall ist. Sie können dies einfach über die Befehlszeile tun:
%Vor%