Heim > Backend-Entwicklung > PHP-Tutorial > Wie setze ich den Standardwert einer Zeitstempelspalte auf den aktuellen Zeitstempel und aktualisiere ihn bei Änderungen in Laravel-Migrationen?

Wie setze ich den Standardwert einer Zeitstempelspalte auf den aktuellen Zeitstempel und aktualisiere ihn bei Änderungen in Laravel-Migrationen?

Patricia Arquette
Freigeben: 2024-10-20 12:17:30
Original
700 Leute haben es durchsucht

How to Set a Timestamp Column's Default Value to the Current Timestamp and Update It On Modification in Laravel Migrations?

Standardwert der Zeitstempelspalte auf den aktuellen Zeitstempel in Laravel-Migrationen festlegen

Frage:

Wie Kann ich in Laravel-Migrationen eine Zeitstempelspalte mit einem Standardwert definieren, der auf den aktuellen Zeitstempel festgelegt ist, und ihn bei Änderung auf den aktuellen Zeitstempel aktualisieren?

Antwort:

MySQL:

Um den Standardwert einer Zeitstempelspalte auf den aktuellen Zeitstempel festzulegen und ihn bei Änderung in MySQL zu aktualisieren, können Sie die Spaltenmodifikatoren useCurrent() und useCurrentOnUpdate() verwenden:

<code class="php">$table->timestamp('created_at')->useCurrent();
$table->timestamp('updated_at')->useCurrent()->useCurrentOnUpdate();</code>
Nach dem Login kopieren

PostgreSQL:

Für PostgreSQL ist kein spezifischer Modifikator erforderlich. Durch einfaches Verwenden der Methode timestamp() wird der Standardwert auf den aktuellen Zeitstempel gesetzt:

<code class="php">$table->timestamp('created_at');</code>
Nach dem Login kopieren

Ältere Laravel-Versionen:

In Laravel-Versionen vor 5.1.25 , können Sie die Methode DB::raw() verwenden, um den Standardwert festzulegen:

<code class="php">$table->timestamp('created_at')->default(DB::raw('NOW()'));
$table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP'));</code>
Nach dem Login kopieren

Probleme:

  • MySQL 5.7 : Stellen Sie sicher, dass MySQL einen gültigen Datumsbereich für Zeitstempel verwendet.
  • PostgreSQL & Laravel 4.x:Setzen Sie die Genauigkeit des Zeitstempelwerts explizit auf 0, um Parsing-Probleme zu vermeiden.

Das obige ist der detaillierte Inhalt vonWie setze ich den Standardwert einer Zeitstempelspalte auf den aktuellen Zeitstempel und aktualisiere ihn bei Änderungen in Laravel-Migrationen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
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