cat($event); // } // if($event['info']=='plat'){ // $this->plat($event); // } } public function cat($event){ $info = Cat::where(['id'=>$event['data']['id']??[]])->field('id cat_id,fund_code,status,is_del,creater apply_name,createrid apply_id,addtime,updatetime')->select(); if($info->isEmpty())return; $plat = Platform::where(['platform_type' => 1, 'is_del' => 0])->field('id')->select(); if(!$plat->isEmpty()){ $data = []; foreach ($info->toArray() as $item){ $temp= array_map(function($v)use($item){ $item['id'] = CatPlat::where(['cat_id' => $item['cat_id'], 'platform_id' => $v['id']])->value('id',null); $item['platform_id'] = $v['id']; return $item; },$plat->toArray()); $data = array_merge($data,$temp); } if(!empty($data)) $this->save($data); } } /** * 批量保存 * @param $data */ protected function save($data){ if(!empty($data)){ $model = new CatPlat(); try{ $model->saveAll($data); }catch(\Exception $e){ throw new \Exception($e->getMessage()); } } } public function plat($event){ $info = Platform::where(['id'=>$event['data']['id']??[],'platform_type' => 1, 'is_del' => 0])->field('id platform_id,platform_type')->select(); if($info->isEmpty())return; $cat = Cat::where(['is_del' => 0])->field('id cat_id,fund_code,status,is_del,creater apply_name,createrid apply_id,addtime,updatetime')->select(); if(!$cat->isEmpty()){ $data = []; foreach ($info->toArray() as$item){ $temp= array_map(function($v)use($item){ $item['id'] = CatPlat::where(['cat_id' => $v['cat_id'], 'platform_id' => $item['platform_id']])->value('id',null); $item['cat_id'] = $v['id']; return $item; },$cat->toArray()); $data = array_merge($data,$temp); } if(!empty($data)) $this->save($data); } } }