这是我更新的代码
public function update(Request $request, $id)
{
DB::beginTransaction();
$preg = SurveyQuestion::findOrFail($id);
$preg->question = $request->question;
$preg->survey_section_id = $request->survey_section_id;
$preg->response_type_id = $request->response_type_id;
$preg->optional = $request->optional;
$preg->save();
if ($request->get('questionOptions')) {
foreach ($request->get('questionOptions') as $item) {
$opts = [];
if (empty($item['id'])) {
$option = new SurveyQuestionOption();
$option->survey_question_id = $preg->id;
$opts[] = $item['id'];
} else if (!empty($item['id'])) {
$option = SurveyQuestionOption::findOrFail($item['id']);
$opts[] = $item['id'];
}
$option->option = $item['option'];
$option->save();
}
}
DB::commit();
return back();
}
目前,我没有检查它是否被删除,因为就像我说的,我不确定如何删除,我的想法是创建一个数组,存储正在创建或编辑的数组的ID,并以某种方式使用它来与从vue发送到控制器的选项数组进行比较。不知道这是多么可行,任何帮助是感激的。