getModelFilter(); $query = $this->query(); if ($this->withRelationships) { $query->with($this->withRelationships); } if ($filter) { $query->filter(request()->input(), $filter); } return $query->sort(); } public function list() { $sn = request('sn', '当前'); $items = []; if ($sn == '当前') { $items = PartyCate::withCount(['users'])->get()->map(fn($item) => [ 'id' => $item->id, 'name' => $item->name, 'cate' => ['name' => $item->name], 'current_score' => $item->current_score, 'count' => $item->users_count, 'avg_score' => $item->users_count ? floor($item->current_score / $item->users_count) : 0, ])->sortByDesc('avg_score'); } else { $query = $this->listQuery(); $items = (clone $query)->get(); } return compact('items'); } }