$program, "videos" => $program->video_pivots, ]); } public function add(Request $request) { return view("program.construct.video.create", [ "program_video" => new ProgramVideos() ]); } public function create(Request $request, Programs $program) { $request->validate([ "video_bvid" => ["required"], "start_part" => ["required", "int"], "stop_part" => ["required", "int"], "start_time" => ["required", "date_format:H:i:s"], "stop_time" => ["required", "date_format:H:i:s"], "created_at" => ["required", "date"], ]); $program_video = new ProgramVideos(); $createPayload = $request->only(["start_part", "start_time", "stop_part", "stop_time"]); $program_video->fill($createPayload); $program_video->video_bvid = $request->post("video_bvid"); if ($request->hasFile("start_image")) { $file = $request->file("start_image"); $path = $file->store("lubo_file"); $full_path = Storage::url($path); // $program_video->start_image = str_replace("jerryyan.top", "jerryyan.net", $full_path); $program_video->start_image = $full_path; } if ($request->hasFile("stop_image")) { $file = $request->file("stop_image"); $path = $file->store("lubo_file"); $full_path = Storage::url($path); // $program_video->stop_image = str_replace("jerryyan.top", "jerryyan.net", $full_path); $program_video->stop_image = $full_path; } $program_video->created_at = $request->post("created_at"); $program->video_pivots()->save($program_video); return redirect(route("program.construct.video.list", [ "program"=>$program_video->program_id ])); } public function edit(Request $request, ProgramVideos $program_video) { return view("program.construct.video.create", [ "program_video" => $program_video ]); } public function submit(Request $request, ProgramVideos $program_video) { $request->validate([ "start_part" => ["required", "int"], "stop_part" => ["required", "int"], "start_time" => ["required", "date_format:H:i:s"], "stop_time" => ["required", "date_format:H:i:s"], "created_at" => ["required", "date"], ]); $updatePayload = $request->only(["start_part", "start_time", "stop_part", "stop_time"]); if ($request->hasFile("start_image")) { $file = $request->file("start_image"); $path = $file->store("lubo_file"); $full_path = Storage::url($path); // $program_video->start_image = str_replace("jerryyan.top", "jerryyan.net", $full_path); $program_video->start_image = $full_path; } if ($request->hasFile("stop_image")) { $file = $request->file("stop_image"); $path = $file->store("lubo_file"); $full_path = Storage::url($path); // $program_video->stop_image = str_replace("jerryyan.top", "jerryyan.net", $full_path); $program_video->stop_image = $full_path; } $program_video->created_at = $request->post("created_at"); $program_video->update($updatePayload); /** * @var $program Programs */ $program = $program_video->program; $program->created_at = $program->video_pivots()->first()->created_at; $program->save(); return redirect(route("program.construct.video.list", [ "program"=>$program_video->program_id ])); } }