laravel - SQLSTATE [HY000]:一般错误:1364 字段 'user_id' 在 laravel 8 上没有默认值
问题描述
SQLSTATE [HY000]:一般错误:1364 字段“user_id”没有默认值
为什么我得到那个错误?以及如何解决?
这是我的控制器看起来像
public function create(Request $request, Question $question)
{
$data = request()->validate([
'standart_id' => 'required',
'question.*.question' => 'required',
'question.*.question_id' => 'required',
'user_id' => 'required',
'question.*.answer' => 'required',
'files_link' => 'required',
'description' => 'required',
]);
$data['user_id'] = Auth()->id();
// dd($data);
// dd($request->input('question.*.standart_id'));
$responses = $question->responses()->createMany($data['question']);
}
这是我在 deadump 上得到的$data
array:5 [▼
"standart_id" => "2"
"user_id" => 3
"files_link" => "http://127.0.0.1:8000/auditee/1/respons/"
"description" => "asdasd"
"question" => array:3 [▼
0 => array:3 [▼
"question" => "test"
"question_id" => "4"
"answer" => "Ya"
]
1 => array:3 [▶]
2 => array:3 [▶]
]
]
有人可以帮我解决这个问题吗?
已编辑
创建路径
Route::post('/standart/{question}/answer/post', [App\Http\Controllers\ResponsController::class, 'create']);
响应模型
protected $guarded = [];
public function question()
{
return $this->belongsTo(Question::class);
}
public function standart()
{
return $this->belongsTo(Standart::class);
}
问题模型
public function standard()
{
return $this->belongsTo(Standart::class);
}
public function responses()
{
return $this->hasMany(Response::class);
}
标准模型
protected $guarded = [];
public function questions()
{
return $this->hasMany(Question::class);
}
public function responses()
{
return $this->hasMany(Response::class);
}
解决方案
正如错误所说,您没有通过user_id
.
$result=collect($request->question)->map(function ($item)use($request) {
$item['user_id'] = $request->user_id;
$item['standart_id'] = $request->standart_id;
$item['files_link'] = $request->files_link;
$item['description'] = $request->description;
return $item;
});
Response::insert($result->toArray());
推荐阅读
- javascript - 在 cytoscape.js 中点击背景时如何禁用取消选择?
- c++ - 默认模板参数和参数包
- java - 如何在 quarkus 中停用特定配置文件中的 url?
- notepad++ - 删除 Notepad++ 中的所有值,方括号中的值除外
- python - 在numpy中识别组中的第一个和最后一个非零元素
- mysql - 4.99 显示为 499 - 将 BIGINT 转换为小数
- excel-formula - 如果第一个单元格有数据,是否有一个 Excel 公式从另一个单元格返回数据?
- xcode - 如何在 Monterey 上运行 Xcode 12.5.1?
- powershell - Azure 自动化 - 将文件从一个 Sharepoint 站点复制到另一个
- pine-script - 如何在 Pine 脚本中获取时间戳?