if($id=DB::result_first("select id from %t where rid = %s and fid =%s and appid = %s",array($this->_table,$setarr['rid'],$setarr['fid'],$setarr['appid']))){
return$id;
}else{
if($id=DB::result_first("select id from %t where rid = %s and fid = %s and appid = %s",array($this->_table,$setarr['rid'],$setarr['fid'],$setarr['appid']))){
$rid=$setarr['rid'];
unset($setarr['rid']);
returnparent::update($rid,$setarr);
}
returnparent::insert($setarr);
}
}
publicfunctiondelete_by_appid($appid){
$rids=[];
foreach(DB::fetch_all("select rid from %t where appid = %s",array($this->_table,$appid))as$v){
$rids[]=$v['rid'];
}
returnparent::delete($rids);
}
publicfunctiondelete_by_rid($rid){
if(!is_array($rid))$rid=(array)$rid;
$dids=[];
foreach(DB::fetch_all("select id from %t where rid in(%n)",array($this->_table,$rid))as$v){
$dids[]=$v['id'];
}
returnparent::delete($dids);
}
publicfunctionfetch_id_by_rid($rid){
$ids=[];
foreach(DB::fetch_all("select id from %t where rid = %s",array($this->_table,$rid))as$v){
$ids[]=$v['id'];
}
return$ids;
}
publicfunctionget_sum_by_fid($fid){
returnDB::result_first("select count(rid) from %t where fid=%s",array($this->_table,$fid));
}
publicfunctionget_sum_by_fids($fids){
if(!is_array($fids))$fids=(array)$fids;
$datas=[];
foreach(DB::fetch_all("select fid,count(rid) as num from %t where fid in(%n) group by fid",array($this->_table,$fids))as$val){
$datas[$val['fid']]=$val['num'];
}
return$datas;
}
publicfunctionget_foldername_by_rid($rid){
$foldernames=[];
foreach(DB::fetch_all("select f.fid,f.fname from %t fr left join %t f on f.fid=fr.fid where rid = %s",array($this->_table,'pichome_folder',$rid))as$v){