Ich habe Schwierigkeiten, die Namen der Zeitstempelspalten zu ändern, die von
generiert werden %Vor%Befehl.
Ich habe bereits folgende Änderung vorgenommen. Wenn ich den eloquent query builder verwende, kann der Spaltenname korrekt generiert werden, aber wenn ich den obigen Befehl verwende, erzeugt er immer noch "created_at", "updated_at" und "deleted_at". Kann mir jemand helfen? Vielen Dank.
%Vor% %Vor%P.S. Ich weiß, dass es keine gute Idee ist, den "Kern" zu modifizieren. Wenn jemand mir sagen kann, wie ich diese Klassen am besten erweitern kann, würde ich das sehr schätzen.
Bearbeiten Sie niemals den Code im Ordner vendor
. Erstens, normalerweise wird es (standardmäßig) nicht in Ihrem Repository mitgeführt, sodass Sie die Änderungen verlieren würden, wenn Sie oder jemand anderes jemals auf einem anderen Computer arbeiten wollte. Sekunde , es wird überschrieben, sobald Sie composer update
ausführen.
Nun, nachdem wir das gesagt haben, fangen wir an, uns mit dem "Modifying the Core" Horror zu beschäftigen. Erstellen Sie für Illuminate\Database\Eloquent\Model.php
einfach ein Basismodell, von dem Sie alle nachfolgenden Modelle erweitern und die darin enthaltenen Konstanten überschreiben:
app / models / BaseModel.php
%Vor% Dann für den Fall Illuminate\Database\Schema\Blueprint
... Nun, es wird blutig:
..\Schema\Blueprint
und überschreiben Sie die von Ihnen erwähnten Methoden. ..\Schema\Builder
und überschreiben Sie die Methode createBlueprint
, um Ihre neue Klasse Blueprint
zu verwenden.
..\Schema\MySqlBuilder
, um von Ihrer neuen Builder
-Klasse zu erweitern. ..\Connection
und überschreiben Sie die Methode getSchemaBuilder
, um Ihre neue Klasse Builder
zu verwenden.
..\MySqlConnection
, ..\PostgresConnection
, ..\SqlServerConnection
und ..\SQLiteConnection
, um von Ihrer neuen Connection
-Klasse zu erweitern. ..\MySqlConnection
muss auch die getSchemaBuilder
-Methode erweitert haben, um Ihre neue MySqlBuilder
-Klasse zu verwenden. ..\ConnectionFactory
und überschreiben Sie die Methode createConnection
, um Ihre erweiterten Connection
-Klassen zu verwenden. ServiceProvider
, um Ihre neue ConnectionFactory
-Klasse als neue db.factory
-Komponente zu registrieren, und fügen Sie sie in Ihrer app/config/app.php
-Datei unter providers
. Nachdem ich also eine halbe Stunde lang den Quellcode von Laravel durchforstet hatte, kam ich zu dem Schluss, dass es wahrscheinlich einfacher wäre, einfach Folgendes bei Ihren Migrationen zu tun:
%Vor%