我正在尝试将传递的course_id以 DRY 格式保存到课程形式中。
我尝试单独保存每个变量并且它有效,但是当我尝试 DRY 代码时,它不起作用。这是我尝试过的代码。
public function store(StoreLessonsRequest $request)
{
if (! Gate::allows('lesson_create')) {
return abort(401);
}
$request = $this->saveFiles($request);
$lesson = Lesson::create($request->all() +
$lesson->course_id = session()->get('id') +
+ ['position' => Lesson::where('course_id', $request->course_id)->max('position') + 1]);
foreach ($request->input('lesson_materials_id', []) as $index => $id) {
$model = config('medialibrary.media_model');
$file = $model::find($id);
$file->model_id = $lesson->id;
$file->save();
}
return redirect()->route('admin.exams.create', ['course_id' => $request->course_id]);
}
我希望course_id保存,但给了我一个不支持的操作数类型的错误。
这是我最终解决它的方式。首先,我声明了变量,然后传递了它。
public function store(StoreLessonsRequest $request)
{
if (! Gate::allows('lesson_create')) {
return abort(401);
}
$request = $this->saveFiles($request);
$seesion = session()->get('id');
$lesson = Lesson::create($request->all()
+ ['position' => Lesson::where('course_id', $request->course_id)->max('position') + 1] + ['course_id' => $seesion] );
foreach ($request->input('lesson_materials_id', []) as $index => $id) {
$model = config('medialibrary.media_model');
$file = $model::find($id);
$file->model_id = $lesson->id;
$file->save();
}