when($request->query('keywords'), function (Builder $builder, $keywords) { $builder->whereRaw("concat(ifnull(name,''),ifnull(intro,'')) like ?",["%{$keywords}%"]); })->withCount('images')->withSum('images', 'size')->latest()->paginate(); return view('admin.strategy.index', compact('strategies')); } public function add(): View { return view('admin.strategy.add'); } public function edit(Request $request): View { $strategy = Strategy::query()->findOrFail($request->route('id')); return view('admin.strategy.edit', compact('strategy')); } public function create(StrategyRequest $request): Response { $group = new Strategy(); $group->fill($request->validated()); $group->save(); return $this->success('创建成功'); } public function update(StrategyRequest $request): Response { /** @var Strategy $group */ $group = Strategy::query()->findOrFail($request->route('id')); $group->fill($request->validated()); if (!$group->save()) { return $this->error('保存失败'); } return $this->success('保存成功'); } public function delete(Request $request): Response { if ($group = Strategy::query()->find($request->route('id'))) { $group->delete(); } return $this->success('删除成功'); } }