where('name', 'like', '%'.request('q').'%'); $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')); } /** * Store a newly created singleMstr in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Routing\Redirector */ public function store(Request $request) { $this->authorize('create', new Master); $newMaster = $request->validate([ 'name' => 'required|max:60', 'description' => 'nullable|max:255', ]); $newMaster['creator_id'] = auth()->id(); Master::create($newMaster); return redirect()->route('masters.index'); } /** * Update the specified singleMstr in storage. * * @param \Illuminate\Http\Request $request * @param \fullMstr $singleMstr * @return \Illuminate\Routing\Redirector */ public function update(Request $request, Master $singleMstr) { $this->authorize('update', $singleMstr); $singleMstrData = $request->validate([ 'name' => 'required|max:60', 'description' => 'nullable|max:255', ]); $singleMstr->update($singleMstrData); $routeParam = request()->only('page', 'q'); return redirect()->route('masters.index', $routeParam); } /** * Remove the specified singleMstr from storage. * * @param \Illuminate\Http\Request $request * @param \fullMstr $singleMstr * @return \Illuminate\Routing\Redirector */ 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(); } }