dropdown([]); } /** * 处理请求 * * @param Request $request * @return mixed|void */ public function handle(Request $request) { $stats = $this->getLandLevelStats(); // 转换为NumberS需要的数据格式(键值对数组) $dataList = []; foreach ($stats as $stat) { $dataList[$stat['name']] = $stat['count']; } $this->withContent($dataList); } /** * 获取土地等级统计数据 * * @return array */ private function getLandLevelStats(): array { $latestStats = FarmDailyStats::orderBy('stats_date', 'desc')->first(); if (!$latestStats) { return []; } $landTypeNames = [ 1 => '普通土地', 2 => '红土地', 3 => '黑土地', 4 => '金色特殊土地', 5 => '蓝色特殊土地', 6 => '紫色特殊土地', ]; $stats = []; $totalLands = 0; // 获取各个土地类型的数量 for ($type = 1; $type <= 6; $type++) { $field = "land_type_{$type}"; $count = $latestStats->$field ?? 0; $totalLands += $count; // 只显示有数量的土地类型 if ($count > 0) { $stats[] = [ 'name' => $landTypeNames[$type], 'count' => $count ]; } } // 添加总计 if ($totalLands > 0) { $stats[] = [ 'name' => '总计', 'count' => $totalLands ]; } return $stats; } }