Rumah >pembangunan bahagian belakang >tutorial php >Bilakah Eloquent Menghantar Kunci Utama Rentetan sebagai 0?
Isu Kunci Utama Tersuai Fasih: "verification_token" Menjadi 0
Apabila cuba menggunakan rentetan sebagai kunci utama untuk jadual Eloquent menggunakan Laravel 5.2, isu yang tidak dijangka timbul apabila kunci utama, pada mulanya ditetapkan kepada token pengesahan, bertukar kepada 0 apabila mendapatkan semula data jadual.
Tingkah laku ini berasal daripada penghantaran lalai atribut dalam kelas Model Laravel. Untuk jadual dengan ID kenaikan automatik, ID dihantar secara automatik sebagai integer. Walau bagaimanapun, apabila kunci utama ialah rentetan, proses pemutus ini menyebabkan kunci ditafsirkan sebagai sifar.
Untuk menyelesaikan isu ini, buat pelarasan berikut pada model Eloquent:
<code class="php">protected $primaryKey = 'verification_token';</code>
<code class="php">public $incrementing = false;</code>
<code class="php">protected $keyType = 'string';</code>
Pengubahsuaian ini mengarahkan Laravel untuk merawat kunci utama sebagai rentetan dan bukannya integer, memastikan ia mengekalkan nilai asalnya apabila mengambil atribut model.
Dengan melaksanakan perubahan ini, anda boleh berjaya menggunakan rentetan sebagai kunci utama tersuai dalam jadual Eloquent anda tanpa menghadapi isu kunci utama menjadi 0.
Atas ialah kandungan terperinci Bilakah Eloquent Menghantar Kunci Utama Rentetan sebagai 0?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!