Menetapkan Cap Masa Semasa sebagai Lalai untuk Lajur Cap Masa dalam Migrasi Laravel
S: Bagaimanakah saya boleh mengkonfigurasi lajur cap masa dalam Migrasi Laravel untuk lalai kepada cap masa semasa dengan pilihan untuk mengemas kini dirinya mengikut nilai berubah?
J: Pembina Skema Laravel menyediakan kaedah mudah untuk mencapai ini:
$table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP')); $table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
DB::raw ialah digunakan untuk mencipta ungkapan mentah, membolehkan kami menetapkan CURRENT_TIMESTAMP sebagai lalai. Penyelesaian ini berfungsi dengan berkesan merentas pelbagai pemacu pangkalan data.
Peningkatan dalam Laravel:
$table->timestamp('created_at')->useCurrent();
$table->timestamp('updated_at')->useCurrent()->useCurrentOnUpdate();
Awas:
MySQL (5.7 dan ke atas):
Pastikan untuk memberikan nilai lalai yang sah pada lajur cap masa untuk mengelakkan masalah yang mungkin berlaku dengan tarikh tidak sah (mis., 0000-00-00 00:00:00). Gunakan useCurrent() atau jadikan lajur boleh batal.
PostgreSQL dengan Laravel 4.x:
Atas ialah kandungan terperinci Bagaimana untuk Menetapkan Cap Masa Lalai dan Cap Masa Auto-Kemas Kini dalam Migrasi Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!