Rumah >pangkalan data >tutorial mysql >Mengapa saya mendapat ralat 'Bidang 'user_id' tidak mempunyai nilai lalai' semasa membuat padanan baharu dalam Laravel 5.4?

Mengapa saya mendapat ralat 'Bidang 'user_id' tidak mempunyai nilai lalai' semasa membuat padanan baharu dalam Laravel 5.4?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-07 19:54:03484semak imbas

Why am I getting the error

Ralat: "Medan 'user_id' tidak mempunyai nilai lalai" dalam Laravel 5.4

Soalan:

Apabila cuba mencipta padanan baharu menggunakan objek Deal, ralat berikut berlaku:

QueryException in Connection.php line 647:
SQLSTATE[HY000]: General error: 1364 Field 'user_id' doesn't have a default value (SQL: insert into matches (deal_id) values (1))

Walaupun mempunyai tatasusunan $guarded kosong, mengapa ralat ini dibangkitkan?

Jawapan:

Tatasusunan $guarded menghalang penetapan jisim kepada semua medan kecuali yang dinyatakan secara jelas. Untuk menyelesaikan isu ini, alih keluar tatasusunan $guarded dan tentukan tatasusunan $fillable.

Penyelesaian:

Dalam kelas Match, tambahkan yang berikut:

protected $fillable = ['user_id', 'deal_id'];

Ini akan membenarkan penugasan besar-besaran kepada medan user_id dan deal_id, yang diperlukan untuk mencipta padanan baharu.

Atas ialah kandungan terperinci Mengapa saya mendapat ralat 'Bidang 'user_id' tidak mempunyai nilai lalai' semasa membuat padanan baharu dalam Laravel 5.4?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn