Aktuelle Zeitstempel als Standard für Zeitstempelspalten in Laravel-Migrationen festlegen
F: Wie kann ich eine Zeitstempelspalte in Laravel-Migrationen konfigurieren? Standardmäßig wird der aktuelle Zeitstempel verwendet, mit der Option, sich selbst bei Wert zu aktualisieren ändern?
A: Laravel's Schema Builder bietet eine einfache Methode, um dies zu erreichen:
$table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP')); $table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
DB::raw ist Wird verwendet, um einen Rohausdruck zu erstellen, der es uns ermöglicht, CURRENT_TIMESTAMP als Standard festzulegen. Diese Lösung funktioniert effektiv über verschiedene Datenbanktreiber hinweg.
Verbesserungen in Laravel:
$table->timestamp('created_at')->useCurrent();
$table->timestamp('updated_at')->useCurrent()->useCurrentOnUpdate();
Vorsichtsmaßnahmen:
MySQL (5.7 und höher):
Stellen Sie sicher, dass Sie den Zeitstempelspalten einen gültigen Standardwert zuweisen, um potenzielle Probleme mit ungültigen Datumsangaben zu vermeiden (z. B. 0000-00-00 00:00:00). Verwenden Sie useCurrent() oder machen Sie die Spalten nullbar.
PostgreSQL mit Laravel 4.x:
Das obige ist der detaillierte Inhalt vonWie lege ich Standardzeitstempel und Zeitstempel für die automatische Aktualisierung in Laravel-Migrationen fest?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!