with('file')->paginate($request['paginate'] ?? 50); return view('maintenance.expressPrinting.image.index', compact('printPartImages')); } /** * 保存图片 * @param Request $request * @param PrintPartImageService $service * @return array */ public function saveFileApi(Request $request, PrintPartImageService $service): array { $file = $request->file('file'); /** @var PrintPartImage $printPartImage */ $printPartImage = PrintPartImage::query()->with('file')->where('name', $request['name'])->first(); if (!$printPartImage) $printPartImage = PrintPartImage::query()->firstOrCreate(['name' => $request['name']]); if ($printPartImage['file']) return ['success' => false, 'message' => '该需求已有描述图片']; return $service->saveFile($printPartImage, $file); } /** * 修改图片 * @param Request $request * @param PrintPartImageService $service * @return array */ public function updateFileApi(Request $request, PrintPartImageService $service): array { $file = $request->file('file'); /** @var PrintPartImage $printPartImage */ $printPartImage = PrintPartImage::query()->with('file')->where('name', $request['name'])->first(); return $service->updateFile($printPartImage, $file); } /** * 删除图片 * @param $id * @param PrintPartImageService $service * @return bool[] * @throws \Exception */ public function destroyApi($id, PrintPartImageService $service): array { $item = PrintPartImage::query()->with('file')->find($id); UploadFile::query()->where(['table_name' => (new PrintPartImage())->getTable(), 'table_id' => $item['id']])->delete(); $item->delete(); return ['success' => true]; } }