Définition de la valeur de la colonne d'horodatage par défaut sur l'horodatage actuel dans les migrations Laravel
Question :
Comment puis-je définir une colonne d'horodatage dans les migrations Laravel avec une valeur par défaut définie sur l'horodatage actuel et la mettre à jour avec l'horodatage actuel lors de la modification ?
Réponse :
MySQL :
Pour définir la valeur par défaut d'une colonne d'horodatage sur l'horodatage actuel et la mettre à jour lors de la modification dans MySQL, vous pouvez utiliser les modificateurs de colonne useCurrent() et useCurrentOnUpdate() :
<code class="php">$table->timestamp('created_at')->useCurrent(); $table->timestamp('updated_at')->useCurrent()->useCurrentOnUpdate();</code>
PostgreSQL :
Pour PostgreSQL, aucun modificateur spécifique n'est requis. Utiliser simplement la méthode timestamp() définira la valeur par défaut sur l'horodatage actuel :
<code class="php">$table->timestamp('created_at');</code>
Anciennes versions de Laravel :
Dans les versions de Laravel antérieures à 5.1.25 , vous pouvez utiliser la méthode DB::raw() pour définir la valeur par défaut :
<code class="php">$table->timestamp('created_at')->default(DB::raw('NOW()')); $table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP'));</code>
Gotchas:
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!