首頁 > 資料庫 > mysql教程 > Laravel 5.2:為什麼我的字串主鍵轉換為 0?

Laravel 5.2:為什麼我的字串主鍵轉換為 0?

Linda Hamilton
發布: 2024-11-26 01:09:10
原創
170 人瀏覽過

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

Laravel 5.2:自訂主鍵轉換問題

在Laravel 5.2 的Eloquent ORM 中使用字串作為自訂主鍵時,您可能會遇到這樣的問題:從key 擷取時鍵值會轉換為 0

說明:

Laravel 自動轉換屬性值以符合資料庫列類型。預設情況下,自動遞增主鍵被假定為整數。但是,在這種情況下,您使用字串作為主鍵,這會導致值轉換錯誤。

解決方案:

要解決此問題,您需要明確指定主鍵是一個字串,並且它不應自動遞增。為此,請將以下程式碼新增至您的模型:

protected $primaryKey = 'your_key_name';
public $incrementing = false;
登入後複製

確保將 'your_key_name' 替換為主鍵列的實際名稱。

進一步說明:

在Laravel 6.0 及更高版本中,還需要設定$keyType 屬性to 'string':

protected $keyType = 'string';
登入後複製

這明確指定主鍵是字串並防止任何潛在的類型轉換。

透過實作此解決方案,您將能夠使用字串作為在 Laravel Eloquent 模型中自訂主鍵,而不會遇到轉換問題。

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

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