all()); $totalNum = $query->sum('yield'); //总产量 $list = $query->simplePaginate(Paginator::resolvePerPage('per_page', 20, 50)); $list->load(['base', 'createdBy']); return $this->json([ 'total' => $totalNum, 'list' => CropYieldResource::collection($list), ]); } public function store(CropYieldRequest $request) { $yields = $request->input('yields'); CropYield::insert(array_map(function ($item) use ($request) { return array_merge($item, [ 'time_year' => $request->input('time_year'), 'crop_id' => $request->input('crop_id'), 'created_by' => auth('api')->user()?->id ?? 0, 'updated_by' => auth('api')->user()?->id ?? 0, 'created_at' => now(), 'updated_at' => now(), ]); }, $yields)); return $this->success('添加成功'); } public function show(CropYield $cropYield) { $cropYield->load(['base', 'crop', 'createdBy']); return $this->json(CropYieldResource::make($cropYield)); } public function update(CropYield $cropYield, CropYieldUpdateRequest $request) { $cropYield->update(array_merge($request->input(), ['updated_by' => auth('api')->user()?->id ?? 0] )); return $this->success('修改成功'); } public function destroy(CropYield $cropYield) { $cropYield->delete(); return $this->success('删除成功'); } }