Laravel 5.2: Mengapa Kunci Utama Rentetan saya Bertukar kepada 0?

Linda Hamilton
Lepaskan: 2024-11-26 01:09:10
asal
111 orang telah melayarinya

Laravel 5.2: Why is my String Primary Key Converting to 0?

Laravel 5.2: Isu Penukaran Kunci Utama Tersuai

Apabila menggunakan rentetan sebagai kunci utama tersuai dalam ORM Eloquent Laravel 5.2, anda mungkin menghadapi isu di mana nilai kunci ditukar kepada 0 apabila diambil daripada pangkalan data.

Penjelasan:

Laravel secara automatik menghantar nilai atribut untuk memadankan jenis lajur pangkalan data. Secara lalai, kunci utama penambahan automatik diandaikan sebagai integer. Walau bagaimanapun, dalam kes ini, anda menggunakan rentetan sebagai kunci utama, yang menyebabkan nilai ditukar dengan salah.

Penyelesaian:

Untuk menyelesaikan isu ini, anda perlu menyatakan dengan jelas bahawa kunci utama ialah rentetan dan ia tidak sepatutnya ditambah secara automatik. Untuk melakukan ini, tambahkan kod berikut pada model anda:

protected $primaryKey = 'your_key_name';
public $incrementing = false;
Salin selepas log masuk

Pastikan anda menggantikan 'nama_kunci_anda' dengan nama sebenar lajur kunci utama anda.

Penjelasan Lanjut:

Dalam Laravel 6.0 dan lebih tinggi, anda juga perlu menetapkan sifat $keyType kepada 'rentetan':

protected $keyType = 'string';
Salin selepas log masuk

Ini secara jelas menyatakan bahawa kunci utama ialah rentetan dan menghalang sebarang kemungkinan penukaran jenis.

Dengan melaksanakan penyelesaian ini, anda akan dapat menggunakan rentetan sebagai tersuai kunci utama dalam model Laravel Eloquent anda tanpa menghadapi isu penukaran.

Atas ialah kandungan terperinci Laravel 5.2: Mengapa Kunci Utama Rentetan saya Bertukar kepada 0?. 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