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

Mary-Kate Olsen
Lepaskan: 2024-11-07 19:54:03
asal
420 orang telah melayarinya

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))
Salin selepas log masuk

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'];
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan