Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menghalang Fasih daripada Menghantar Kunci Utama Rentetan kepada 0 dalam Laravel 5.2?
Laravel 5.2: Menggunakan Rentetan sebagai Kunci Utama Tersuai untuk Jadual Fasih
Apabila bekerja dengan model Eloquent dalam Laravel 5.2, ia mungkin untuk menghadapi isu di mana kunci utama tersuai jenis rentetan dihantar ke 0 apabila mengambil data daripada pangkalan data.
Pernyataan Masalah:
Seorang pengguna menghadapi isu ini semasa menggunakan e-mel sebagai kunci utama untuk jadual, menyebabkan nilai kunci utama menjadi 0 selepas mengambilnya menggunakan mana kaedah.
Penyelesaian:
Untuk menyelesaikan isu ini, adalah perlu untuk memaklumkan kepada Laravel bahawa kunci utama bukan integer kenaikan automatik. Ini boleh dicapai dengan menetapkan kedua-dua sifat $incrementing dan $primaryKey dalam kelas model. Selain itu, menetapkan sifat $keyType kepada 'rentetan' disyorkan dalam versi Laravel 6.0.
Berikut ialah contoh cara mengemas kini kelas model:
class UserVerification extends Model { protected $primaryKey = 'verification_token'; public $incrementing = false; protected $keyType = 'string'; }
Dengan membuat perubahan ini, Laravel akan menyedari bahawa kunci utama ialah rentetan dan tidak akan cuba menghantarnya sebagai integer, menyelesaikan isu di mana kunci utama menjadi 0.
Atas ialah kandungan terperinci Bagaimana untuk Menghalang Fasih daripada Menghantar Kunci Utama Rentetan kepada 0 dalam Laravel 5.2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!