orderBy('name') ->tap(fn($query) => $this->applySearch($query, ['id','name'])) ->paginate(30) ->withQueryString(); return view('modcp.resources', [ 'items' => $items, 'title' => 'Levels', 'singular' => 'Level', 'storeRoute' => 'modcp.levels.store', 'updateRoute' => 'modcp.levels.update', 'destroyRoute' => 'modcp.levels.destroy' ]); } public function store(Request $request) { $request->validate([ 'name' => 'required|string|max:255|unique:levels,name', ]); Level::create([ 'name' => trim($request->name), 'slug' => EntryHelpers::uniqueSlug( $request->name, Level::class ), ]); return back()->with('success', 'Level added.'); } public function update(Request $request, Level $level) { $request->validate([ 'name' => 'required|string|max:255|unique:levels,name,' . $level->id, ]); $level->update([ 'name' => trim($request->name), 'slug' => EntryHelpers::uniqueSlug( $request->name, Level::class, $level->id ), ]); return back()->with('success', 'Level updated.'); } public function destroy(Level $level) { $level->delete(); return back()->with('success', 'Level deleted.'); } }