Heim > Datenbank > MySQL-Tutorial > Wie lege ich Standard-Zeitstempelwerte in Laravel-Migrationen fest?

Wie lege ich Standard-Zeitstempelwerte in Laravel-Migrationen fest?

Mary-Kate Olsen
Freigeben: 2024-11-22 14:59:13
Original
866 Leute haben es durchsucht

How to Set Default Timestamp Values in Laravel Migrations?

Standardwerte für Zeitstempel mithilfe von Laravel-Migrationen festlegen

Der Laravel Schema Builder bietet eine praktische Möglichkeit, Datenbanktabellen zu erstellen und zu ändern. Allerdings stoßen Benutzer gelegentlich auf Probleme beim Festlegen von Standard-Zeitstempelwerten auf den aktuellen Zeitstempel beim Erstellen und Aktualisieren.

Die timestamps()-Methode

Typischerweise die timestamps()-Methode wird verwendet, um die Zeitstempelspalten „created_at“ und „update_at“ automatisch zu verwalten. Diese Methode setzt ihre Standardwerte jedoch auf „0000-00-00 00:00:00“.

Lösung: DB::raw() und useCurrent()

Um einen Standardwert von CURRENT_TIMESTAMP festzulegen, verwenden Sie DB::raw():

$table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
Nach dem Login kopieren

As Von Laravel 5.1.25 können Sie auch die Methode useCurrent() verwenden:

$table->timestamp('created_at')->useCurrent();
Nach dem Login kopieren

MySQL ON UPDATE-Klausel

Für MySQL können Sie die ON UPDATE-Klausel angeben -Klausel mit DB::raw():

$table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
Nach dem Login kopieren

Ab Laravel 8.36.0 ist dies möglich Verwenden Sie useCurrentOnUpdate() in Verbindung mit useCurrent():

$table->timestamp('updated_at')->useCurrent()->useCurrentOnUpdate();
Nach dem Login kopieren

Probleme

  • MySQL: Seit MySQL 5.7, '0000 -00-00 00:00:00' ist ungültig. Verwenden Sie useCurrent() oder machen Sie Zeitstempel nullbar.
  • PostgreSQL & Laravel 4.x: Verwenden Sie CURRENT_TIMESTAMP(0), um Nullgenauigkeit sicherzustellen und Probleme beim Carbon-Parsing zu vermeiden.

Das obige ist der detaillierte Inhalt vonWie lege ich Standard-Zeitstempelwerte in Laravel-Migrationen fest?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage