Laravel 5.4 中的错误:“字段 'user_id' 没有默认值”
问题:
尝试使用 Deal 对象创建新匹配时,会发生以下错误:
QueryException in Connection.php line 647: SQLSTATE[HY000]: General error: 1364 Field 'user_id' doesn't have a default value (SQL: insert into matches (deal_id) values (1))
尽管有一个空的 $guarded 数组,但为什么会引发此错误?
答案:
$guarded 数组会阻止对除明确提到的字段之外的所有字段进行批量赋值。要解决此问题,请删除 $guarded 数组并定义 $fillable 数组。
解决方案:
在 Match 类中,添加以下内容:
protected $fillable = ['user_id', 'deal_id'];
这将允许对 user_id 和 deal_id 字段进行批量分配,这是创建新匹配所必需的。
以上是为什么在 Laravel 5.4 中创建新匹配时出现错误'字段 'user_id' 没有默认值”?的详细内容。更多信息请关注PHP中文网其他相关文章!