Laravel 8 定义Product与Category等模型一对多关联外键为null问题求助
你定义的一对多关联规则没有错误,请求参数中category_id、gender_id、size_id为null和关联定义无关,可按以下顺序排查:
- 优先检查前端提交的请求参数,确认三个字段是否正常传递,字段名拼写、大小写是否和你后端接收的名称完全一致,有没有出现参数名写错的情况。
- 检查前端提交控件的配置:如果是表单提交,确认三个选择框的
name属性是否分别设置为category_id、gender_id、size_id;如果是AJAX/接口请求,确认请求体中三个字段没有被嵌套在其他对象层级下,也没有被遗漏。 - 可以先打印
$request->all()查看完整的请求参数结构,确认三个字段是否真的没有传入后端:如果完整参数里已经包含对应值但单独访问为null,检查有没有全局中间件过滤了对应字段,或者你访问时的属性名拼写错误;如果完整参数里也没有对应值,直接定位前端提交逻辑的问题即可。 - 后续如果请求参数正常但写入数据库时三个字段为null,需要检查
Product模型的$fillable属性是否已经加入三个关联ID字段,或者是否设置了$guarded = []关闭批量赋值防护。
内容的提问来源于stack exchange,提问作者David Orizu
相关产品推荐
相关产品推荐

