Maison >développement back-end >tutoriel php >Comment définir l'horodatage par défaut sur l'horodatage actuel dans les migrations Laravel ?
Dans Laravel, les horodatages sont couramment utilisés pour suivre l'activité, par exemple lorsqu'un enregistrement a été créé ou mis à jour. Par défaut, ces horodatages sont définis sur 0000-00-00 00:00. Cependant, il peut être utile de définir automatiquement la valeur par défaut sur l'horodatage actuel.
Pour les horodatages que vous souhaitez mettre à jour régulièrement, vous pouvez utiliser la base de données ::raw() fonction pour spécifier CURRENT_TIMESTAMP comme valeur par défaut :
$table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
Cela garantit que la colonne créée_at contiendra toujours l'horodatage actuel, à la fois lors de la création initiale de l'enregistrement et lors de sa mise à jour.
Alternativement, vous pouvez utiliser les méthodes useCurrent() ou useCurrentOnUpdate() pour obtenir le même résultat :
$table->timestamp('created_at')->useCurrent(); $table->timestamp('updated_at')->useCurrentOnUpdate();
Le useCurrent () attribue l'horodatage actuel comme valeur par défaut pour la création et les mises à jour, tandis que useCurrentOnUpdate() définit la valeur par défaut pour les mises à jour uniquement.
Pour MySQL, vous pouvez utilisez la clause ON UPDATE dans DB::raw():
$table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
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!