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

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

Mary-Kate Olsen
发布: 2024-11-07 19:54:03
原创
485 人浏览过

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板