In Laravel werden Zeitstempel häufig verwendet, um Aktivitäten zu verfolgen, z. B. wann ein Datensatz erstellt oder aktualisiert wurde. Standardmäßig sind diese Zeitstempel auf 0000-00-00 00:00 eingestellt. Es kann jedoch sinnvoll sein, den Standardwert automatisch auf den aktuellen Zeitstempel zu setzen.
Für Zeitstempel, die Sie regelmäßig aktualisieren möchten, können Sie die Datenbank verwenden ::raw()-Funktion zum Angeben von CURRENT_TIMESTAMP als Standardwert:
$table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
Dadurch wird sichergestellt, dass die Spalte „created_at“ immer den aktuellen Zeitstempel enthält, sowohl bei der ersten Erstellung des Datensatzes als auch bei seiner Aktualisierung.
Alternativ können Sie die Methoden useCurrent() oder useCurrentOnUpdate() verwenden, um das gleiche Ergebnis zu erzielen:
$table->timestamp('created_at')->useCurrent(); $table->timestamp('updated_at')->useCurrentOnUpdate();
Die useCurrent ()-Methode weist den aktuellen Zeitstempel als Standardwert sowohl für die Erstellung als auch für Aktualisierungen zu, während useCurrentOnUpdate() den Standardwert nur für Aktualisierungen festlegt.
Für MySQL ist dies möglich Verwenden Sie die ON UPDATE-Klausel in DB::raw():
$table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
Das obige ist der detaillierte Inhalt vonWie stelle ich den Standardzeitstempel in Laravel-Migrationen auf den aktuellen Zeitstempel ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!