validator; } /** * 构建查询条件 */ protected function buildQueryConfig(Request $request, string $scene = 'index'): array { $p = $request->all(); $config = []; $config['model'] = $this->modelClass; switch ($scene) { case 'index': if (isset($p['year']) && $p['year']) { $config['where']['year'] = $p['year']; } $config['order']['id'] = 'desc'; break; case 'show': case 'update': case 'destroy': $config['where']['id'] = $p['id']; break; case 'store': break; } return $config; } // ====== 前置处理 ====== /** * 添加前置处理 */ public function beforeServiceStore($data, Request $request) { if(isset($data['user_id']) && $data['user_id'] && empty($data['corp_id'])){ $data['corp_id'] = User::where('id', $data['user_id'])->value('corp_id'); } if(isset($data['corp_id']) && empty($data['corp_id'])){ unset($data['corp_id']); } if(isset($data['user_id']) && empty($data['user_id'])){ unset($data['user_id']); } if(isset($data['user_id']) && isset($data['user_id'])){ $annualTargets = SalesAnnualTargets::where('year',$data['year'])->where('corp_id',$data['corp_id'])->where('user_id', $data['user_id'])->first(); }else{ $annualTargets = SalesAnnualTargets::where('year',$data['year'])->whereNull('corp_id')->whereNull('user_id')->first(); } if($annualTargets){ throw new BusinessException('目标重复添加'); } return $data; } }