where('title', 'like', '%'.$request->get('q').'%'); $singleMstrQuery->orderBy('title'); $mstrCollections = $singleMstrQuery->paginate(25); return view('masters.index', compact('mstrCollections')); } public function create() { $this->authorize('create', new Master); return view('masters.create'); } 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(); $singleMstr = Master::create($newMaster); return redirect()->route('masters.show', $singleMstr); } public function show(Master $singleMstr) { return view('masters.show', compact('singleMstr')); } public function edit(Master $singleMstr) { $this->authorize('update', $singleMstr); return view('masters.edit', compact('singleMstr')); } 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); return redirect()->route('masters.show', $singleMstr); } 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()) { return redirect()->route('masters.index'); } return back(); } }