with(['owner','material','initiator','uploadFile'])->orderByDesc('id')->filter($filters)->paginate($request['paginate'] ?? 50); $owners = app(OwnerService::class)->getAuthorizedOwners(); $materials = Material::all(); return view('/maintenance/ownerMaterial/index',compact('ownerMaterials','owners','materials')); } public function storeApi(Request $request):array { $params = $request->all(['owner_id', 'material_id', 'material_code', 'size', 'special', 'specification']); $params['initiator'] = Auth::user()['id']; try { $material = OwnerMaterial::query()->create($params); if ($material) return ['success' => true,'data' => $material->loadMissing(['owner','material','initiator','uploadFile'])]; else return ['success' => false, 'message' => '添加失败']; } catch (\Exception $e) { return ['success' => false,'message' => $e->getMessage()]; } } public function updateApi(Request $request) { //$this->gate("xx"); $material = OwnerMaterial::query()->find($request['id']); if(!$material)$this->error("对应的项目耗材没有找到"); $bool = $material->update($request->all(['owner_id', 'material_id', 'material_code', 'size', 'special', 'specification'])); if($bool==0)$this->error("更新异常"); $this->success($material->loadMissing(['owner','material','initiator','uploadFile'])); } public function destroyApi($id) { $ownerMaterial = OwnerMaterial::query()->find($id); if(!$ownerMaterial)$this->error('对应的项目耗材没有找到'); $ownerMaterial->delete(); $this->success(); } }