首页  >  文章  >  数据库  >  为什么在 Laravel 5.4 中创建新匹配时出现错误'字段 'user_id' 没有默认值”?

为什么在 Laravel 5.4 中创建新匹配时出现错误'字段 'user_id' 没有默认值”?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-07 19:54:03427浏览

Why am I getting the error

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn