首頁 > 資料庫 > mysql教程 > Laravel 5.2 Eloquent:為什麼我的字串主鍵變成了 0?

Laravel 5.2 Eloquent:為什麼我的字串主鍵變成了 0?

DDD
發布: 2024-12-04 20:16:13
原創
555 人瀏覽過

Laravel 5.2 Eloquent: Why is my String Primary Key becoming 0?

Laravel 5.2:Eloquent 中的自訂主鍵會導致意外值

當嘗試在Laravel 5.2 Eloquent 表中使用字串作為主鍵時,使用者可能會遇到主鍵值變成0 的問題。這是由 Laravel 的預設行為引起的,它將主鍵強制轉換為一個整數。

要解決此問題,請依照下列步驟操作:

  1. 在 Eloquent 模型類別中,使用 $primaryKey 指定主鍵。
  2. 設定 $incrementing為 false,表示主鍵不自增。
  3. 對於 Laravel 6.0 和上面,將 $keyType 設為 'string' 以明確定義主鍵的類型。

例如:

class UserVerification extends Model
{
    protected $table = 'user_verification';
    protected $fillable =   [
                                'email',
                                'verification_token'
                            ];
    protected $primaryKey = 'verification_token';
    public $incrementing = false;
    protected $keyType = 'string'; // For Laravel 6.0+
}
登入後複製

透過實現這些更改,Laravel 將正確處理主鍵為字串,解決主鍵值為0的問題

以上是Laravel 5.2 Eloquent:為什麼我的字串主鍵變成了 0?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板