Rumah > pembangunan bahagian belakang > tutorial php > Cara Mengendalikan Isu Penukaran Kunci Utama Rentetan Tersuai dalam Laravel 5.2

Cara Mengendalikan Isu Penukaran Kunci Utama Rentetan Tersuai dalam Laravel 5.2

Linda Hamilton
Lepaskan: 2024-10-19 16:53:30
asal
1046 orang telah melayarinya

How to Handle Custom String Primary Key Conversion Issue in Laravel 5.2

Laravel 5.2 - Kunci Utama Tersuai sebagai Rentetan: Menyelesaikan Penukaran '0'

Menggunakan rentetan sebagai kunci utama untuk jadual Eloquent boleh membawa kepada isu penukaran yang tidak dijangka. Artikel ini menangani masalah menghadapi nilai '0' semasa mengambil kunci utama.

Pernyataan Masalah:

Apabila cuba menggunakan e-mel sebagai kunci utama, Eloquent akan mengembalikan kunci utama sebagai '0' apabila menanyakan jadual menggunakan 'di mana' dengan kunci utama sebagai hujah. Ini menjejaskan pengambilan atribut lain daripada model.

Penyelesaian:

Untuk menyelesaikan isu penukaran ini, dua sifat perlu dikonfigurasikan dalam model Eloquent:

  1. naik: Tetapkan ini kepada 'palsu' untuk menunjukkan bahawa kunci utama bukan auto-naik (seperti biasa untuk kekunci rentetan).
  2. keyType (Laravel 6.0 sahaja): Tetapkan ini kepada 'rentetan' untuk menyatakan secara eksplisit bahawa kunci utama ialah rentetan.

Berikut ialah model Eloquent yang dikemas kini:

<code class="php">class UserVerification extends Model
{
    protected $primaryKey = 'verification_token';
    protected $incrementing = false;
    protected $keyType = 'string';
    // Other model definitions...
}</code>
Salin selepas log masuk

Dengan mengkonfigurasi sifat ini, Laravel kini akan mengendalikan kunci utama rentetan dengan betul dan mengelak daripada menukarnya kepada integer, menyelesaikan isu penukaran '0'.

Atas ialah kandungan terperinci Cara Mengendalikan Isu Penukaran Kunci Utama Rentetan Tersuai dalam Laravel 5.2. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
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