2016-04-13 10 views
0

Ich erstelle ein Projekt mit Laravel Illuminate, das eine Verbindung zu einer bestehenden Firebird-Datenbank herstellt, indem das Projekt jacquestvanzuydam verwendet wird. Das Problem ist, dass Firebird keine Anführungszeichen um Tabellen- und Feldnamen verwendet, aber meine aktuelle Konfiguration versucht, Anführungszeichen um Tabellennamen in jedem anzulegen, die automatisch erstellt werden.Vermeiden von Anführungszeichen um den Tabellennamen in Laravel Illuminate Firebird

Wie konfiguriert man Laravel oder Illuminate, um SQL-Anweisungen ohne Anführungszeichen zu erstellen?

+2

Firebird unterstützt jedoch Anführungszeichen (SQL-Standard doppelte Anführungszeichen) um object, vorausgesetzt, Sie einen Dialekt 3-Datenbank verwenden (die Standardeinstellung sein sollte). Dialekt 1 (das im Jahr 2000 nicht mehr unterstützt wurde) unterstützt keine Objektnamen in Anführungszeichen. Es sieht so aus, als ob Sie entweder eine sehr alte Datenbank verwenden, oder Sie haben sie versehentlich als Dialekt 1 erstellt. –

+0

Ich habe tatsächlich Dialekt 1 Datenbank. Das Laravel Furebird Plugin verwendet die Funktion wrapTable, die es vom Basis-Framework erbt. Ich wollte nur Konfiguration wissen, die keine Anführungszeichen hinzufügt. – TomR

+0

Ist dies ein neues Projekt/eine neue Datenbank? Wenn dies der Fall ist, rate ich Ihnen dringend, Ihre Datenbank als Dialekt 3 neu zu erstellen. Wenn dies nicht der Fall ist, sollten Sie trotzdem eine Migration in Betracht ziehen. Es wird Sie vor vielen Kopfschmerzen bewahren, zum Beispiel werden im Dialekt 1 Strings mit doppelten Anführungszeichen zitiert, nicht die SQL-Standard-Hochkommata, "date" ist eigentlich ein "timestamp" und einige andere Kuriositäten. Ich benutze Laravel nicht, daher kann ich deine Frage nicht wirklich beantworten. –

Antwort

0

versuchen, Tabellennamen wie in Ihrer Datenbank genannt zu schreiben. in deinem Modell.

protected $table = 'TABLE_NAME'; 

hatte ich dieses Problem und löste es durch schriftliche Tabellennamen in Groß