where('title', 'like', '%'.$request->get('q').'%'); $singleMstrQuery->orderBy('title'); $mstrCollections = $singleMstrQuery->paginate(25); if (in_array(request('action'), ['edit', 'delete']) && request('id') != null) { $editableMaster = Master::find(request('id')); } return view('masters.index', compact('mstrCollections', 'editableMaster')); } public function store(Request $request) { $this->authorize('create', new Master); $newMaster = $request->validate([ 'title' => 'required|max:60', 'description' => 'nullable|max:255', ]); $newMaster['creator_id'] = auth()->id(); Master::create($newMaster); return redirect()->route('masters.index'); } public function update(Request $request, Master $singleMstr) { $this->authorize('update', $singleMstr); $singleMstrData = $request->validate([ 'title' => 'required|max:60', 'description' => 'nullable|max:255', ]); $singleMstr->update($singleMstrData); $routeParam = request()->only('page', 'q'); return redirect()->route('masters.index', $routeParam); } public function destroy(Request $request, Master $singleMstr) { $this->authorize('delete', $singleMstr); $request->validate(['master_id' => 'required']); if ($request->get('master_id') == $singleMstr->id && $singleMstr->delete()) { $routeParam = request()->only('page', 'q'); return redirect()->route('masters.index', $routeParam); } return back(); } }