Eloquent 也會假定每個數據表都有一個名爲 id
的主鍵字段。你可以定義一個訪問權限爲 protected
的 $primaryKey
屬性來覆蓋這個約定。
另外,Eloquent 假定主鍵是一個遞增的整數值,這意味着在默認情況下主鍵會自動轉換爲 int
。如果希望使用非遞增或者非數字的主鍵,則必須在模型上設置 public $incrementing = false
。如果主鍵不是一個整數,你應該在模型上設置 protected $keyType = string
。
如果不設置 public $incrementing = false hasOne() 裏不能使用主鍵