78 lines
2.2 KiB
PHP
Executable File
78 lines
2.2 KiB
PHP
Executable File
<?php
|
|
namespace Common\Model;
|
|
|
|
use Gy_Library\DBCont;
|
|
|
|
|
|
//自动生成代码
|
|
class KeywordsModel extends \Gy_Library\GyListModel {
|
|
|
|
|
|
protected $_validate = array(
|
|
array('name', 'require', '关键词名称不能为空'),
|
|
array('name','','关键词已经存在!',0,'unique',3), // 验证name字段是否唯一
|
|
);
|
|
|
|
protected $_auto = array(
|
|
|
|
);
|
|
|
|
public function genKeyword($keyword_ids){
|
|
$res = $this->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;
|
|
}
|
|
|
|
}
|
|
|
|
|
|
} |