where(['id'=>['IN',$keyword_ids]])->select(); $datas = []; foreach ($res as $vo){ $tem =[]; $tem[]=['name'=>'keyword','type'=>'select2','value'=>$vo['name']]; $datas[]=$tem; } return $datas; } public function genKeywordId($keyword_ids) { $res = $this->where(['id'=>['IN',$keyword_ids]])->select(); $datas = []; foreach ($res as $vo){ $tem =[]; $tem[]=['name'=>'keywords_id','type'=>'select2','value'=>$vo['id']]; $datas[]=$tem; } return $datas; } public function checkKeywords($words){ $words_arr= array_unique($words); $this->startTrans(); try{ foreach ($words_arr as $item){ if(!empty($item)){ if (strpos($item, '@') === 0) { $key_name = substr($item, 1); $indist=$this->where(['name'=>$key_name])->getField('id'); } else { $indist=$item; } if(empty($indist)){ $r=$this->createAdd(['name'=>$key_name]); if($r===false){ $this->error=$key_name.'添加失败'; return false; }else{ $r_id[]=$r; } }else{ $r_id[]=$indist; } } } $this->commit(); return $r_id; } catch (\Think\Exception $ex) { $this->rollback(); $this->error = $ex->getMessage(); return false; } } }