解決Laravel 5.4 中的「欄位沒有預設值」錯誤
嘗試使用Deal 建立新的Match 實體時模型,您可能會遇到錯誤“字段'user_id'沒有預設值。”儘管在Match類別中定義了一個空的受保護數組,但還是會發生這種情況。
要解決此問題,您應該將受保護數組替換為可填充數組:
protected $guarded = []; protected $fillable = ['user_id', 'deal_id'];
透過指定可填充數組,您明確定義可以批量分配給模型的欄位。這可確保在建立或更新 Match 實體時僅更新授權欄位。
可填入陣列應包含您希望在使用批次分配語法建立或更新模型時能夠設定的所有欄位。在這種情況下,您希望在建立新的 Match 時能夠設定 user_id 和 deal_id。
進行此變更後,您應該能夠建立新的 Match 實體,而不會收到「欄位不存在」的訊息。 “沒有預設值”錯誤。
以上是如何修復 Laravel 5.4 中的「欄位沒有預設值」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!