Laravel 5.2:使用字串作為Eloquent 表的自訂主鍵
在Laravel 5.2 中使用Eloquent 模型時,可以遇到從字串類型的自訂主鍵取得資料時被強制轉換為 0的問題
問題陳述:
使用者在使用電子郵件作為表格的主鍵時遇到此問題,導致使用where 方法。
解:
要解決此問題,需要通知Laravel 認為主鍵不是自增整數。這可以透過在模型類別中設定 $incrementing 和 $primaryKey 屬性來實現。此外,建議在 Laravel 6.0 版本中將 $keyType 屬性設為 'string'。
以下是如何更新模型類別的範例:
class UserVerification extends Model { protected $primaryKey = 'verification_token'; public $incrementing = false; protected $keyType = 'string'; }
透過進行這些更改,Laravel會意識到主鍵是一個字串,不會嘗試將其轉換為整數,解決主鍵變成0 的問題。
以上是Laravel 5.2 中如何防止 Eloquent 將字串主鍵強制轉換為 0?的詳細內容。更多資訊請關注PHP中文網其他相關文章!