我正在使用axios发送一个数据数组,如下所示:
originalData:Object
19:"ae"
20:"aze"
21:"aze"
22:"aze"
23:"aze"
24:"aez"
79:"az"
80:"aza"
81:"az"
83:"az"
每个ID对应于一个问题的ID。 id的每个文本都对应他的答案。
我的表answers
包含以下结构:
id
,answer
,user_id
,question_id
我想在数据库中为每个答案创建新行。 id
必须存储在question_id
列中,文本必须存储在answer
我尝试过这样的事情:
public function store(Request $request)
{
$data = $request->all();
$finalArray = [];
foreach ($data as $key => $value) {
array_push($finalArray, [
'user_id' => auth()->user()->id,
'question_id' => ??,
'answer' => ??
]);
}
Answer::insert($finalArray);
}
我不知道这是否是正确的方法。无论如何,在这种情况下,我都不知道如何获取id
和问题的文本。
你能帮我吗?
谢谢
答案 0 :(得分:1)
我认为您可以这样做:
public function store(Request $request)
{
$data = $request->all();
foreach ($data as $key => $value) {
Answer::create([
'user_id' => auth()->user()->id,
'question_id' => $key, // $key will be 19, 20...
'answer' => $value // $value 'ae', 'aze' ...
]);
}
}
这应该工作正常。如果您有任何错误,请在此处提供。
祝你好运!