/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $this->validate($request, ['name' => 'required|min:1', 'hotData' => 'required']); $hot = new Hot(); $hot->parseJson($request->input('hotData')); $hotValidator = $hot->validateHotFormatData(); if ($hotValidator !== true) { return redirect()->back()->withInput()->withErrors($hotValidator); } $timetable = new Timetable(); $timetable->user_id = Auth::user()->id; $timetable->name = $request->input('name'); $timetable->data = $hot->stringifyHotFormatArray(); $timetable->has_period_numbers = $request->has('hasPeriodNumbers'); $timetable->save(); return redirect('/timetable/' . $timetable->id)->with(['success' => ['Your timetable has successfully been created.']]); }