filter($request->all()) ->latest('id') ->paginate(20); return RiceShrimpPriceResource::collection($riceShrimpPrices); } /** * 创建稻虾价格 * * @param \App\Http\Requestes\RiceShrimpPriceStoreRequest $request * @return \App\Http\Resources\RiceShrimpPriceResource * * @throws \App\Exceptions\BizException */ public function store(RiceShrimpPriceStoreRequest $request): RiceShrimpPriceResource { $user = $request->user(); $riceShrimpPrice = RiceShrimpPrice::create( array_merge( $request->only(['year', 'quarter', 'price']), [ 'created_by' => $user->id, 'updated_by' => $user->id, ] ) ); $riceShrimpPrice->setRelations([ 'createdBy' => $user, 'updatedBy' => $user, ]); return RiceShrimpPriceResource::make($riceShrimpPrice); } /** * 修改稻虾价格 * * @param int $id * @param \App\Http\Requestes\RiceShrimpPriceUpdateRequest $request * @return \App\Http\Resources\RiceShrimpPriceResource */ public function update($id, RiceShrimpPriceUpdateRequest $request): RiceShrimpPriceResource { $riceShrimpPrice = RiceShrimpPrice::findOrFail($id); foreach ([ 'year', 'quarter', 'price', ] as $key) { if ($request->filled($key)) { $riceShrimpPrice->{$key} = $request->input($key); } } if ($riceShrimpPrice->isDirty()) { $riceShrimpPrice->updated_by = $request->user()->id; } $riceShrimpPrice->save(); return RiceShrimpPriceResource::make( $riceShrimpPrice->loadMissing(['createdBy', 'updatedBy']) ); } /** * 删除稻虾价格 * * @param int $id * @return \Illuminate\Http\JsonResponse */ public function destroy($id): JsonResponse { $riceShrimpPrice = RiceShrimpPrice::findOrFail($id); $riceShrimpPrice->delete(); return response()->json(null); } }