Dalam Laravel, cap masa biasanya digunakan untuk menjejak aktiviti, seperti semasa rekod dibuat atau dikemas kini. Secara lalai, cap masa ini ditetapkan kepada 0000-00-00 00:00. Walau bagaimanapun, adalah berguna untuk menetapkan nilai lalai secara automatik kepada cap masa semasa.
Untuk cap masa yang anda ingin kemas kini dengan kerap, anda boleh menggunakan DB ::raw() berfungsi untuk menentukan CURRENT_TIMESTAMP sebagai nilai lalai:
$table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
Ini memastikan bahawa lajur create_at akan sentiasa mengandungi cap masa semasa, kedua-dua apabila rekod dibuat pada mulanya dan apabila ia dikemas kini.
Sebagai alternatif, anda boleh menggunakan kaedah useCurrent() atau useCurrentOnUpdate() untuk mencapai hasil yang sama:
$table->timestamp('created_at')->useCurrent(); $table->timestamp('updated_at')->useCurrentOnUpdate();
The useCurrent () kaedah menetapkan cap masa semasa sebagai nilai lalai untuk kedua-dua penciptaan dan kemas kini, manakala useCurrentOnUpdate() menetapkan nilai lalai untuk kemas kini sahaja.
Untuk MySQL, anda boleh gunakan klausa ON UPDATE dalam DB::raw():
$table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
Atas ialah kandungan terperinci Bagaimanakah Saya Menetapkan Cap Masa Lalai kepada Cap Masa Semasa dalam Migrasi Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!