'=', ]; protected array $quickSearchField = ['name']; /** 查询分类列表 */ #[GetRoute(authorize: 'query')] public function query(Request $request): JsonResponse { $query = SysCategoryModel::query(); $data = $this->buildSearch($request->all(), $query) ->orderBy('sort', 'desc') ->orderBy('id', 'desc') ->paginate($request->input('pageSize', 10)) ->toArray(); return $this->success($data); } /** 创建分类 */ #[PostRoute(authorize: 'create')] public function create(SysCategoryFormRequest $request): JsonResponse { $validated = $request->validated(); $model = SysCategoryModel::create($validated); if (empty($model)) { return $this->error(); } return $this->success(); } /** 编辑分类 */ #[PutRoute( route: '/{id}', authorize: 'update', where: ['id' => '[0-9]+'] )] public function update(int $id, SysCategoryFormRequest $request): JsonResponse { $validated = $request->validated(); $model = SysCategoryModel::find($id); if (empty($model)) { return $this->error('分类不存在'); } $model->update($validated); return $this->success(); } /** 删除分类 */ #[DeleteRoute( route: '/{id}', authorize: 'delete', where: ['id' => '[0-9]+'] )] public function delete(int $id): JsonResponse { $model = SysCategoryModel::find($id); if (empty($model)) { return $this->error('分类不存在'); } // 级联删除该分类下的分类项 $model->categoryItems()->delete(); $model->delete(); return $this->success(); } }