aravel链式查询根据条件使用链式以及闭包的使用
Laravel链式查询根据条件使用链式
Laravel闭包的的使用,大条件与,小条件和
//搜索专题包类已拥有的素材
public function searchSpecialOwnMaterial($request)
{
$req = $request->all();
if(!isset($req['special_id']) || empty($req['special_id'])) return "error:专题包id未找到或空";
// if(!isset($req["keyword"])) return "error:搜索关键词不存在";
$special = DB::connection('zino')->table('special_pack')->where('id',$req['special_id'])->first();
if(empty($special)) return "error:专题包不存在";
$db = DB::connection('zino')->table('special_belong')
->where('special_id',$req['special_id']);
if(!empty($req["keyword"])){
$keyword = "%".$req["keyword"]."%";
$db->where(function($dbs) use($keyword){
$dbs->orWhere('title','like',$keyword)
->orWhere('tags','like',$keyword)
->orWhere('private_tags','like',$keyword);
});
}
$data = $db->get()->toArray();
if(empty($data)) return [];
$osshelp=new OssHelp();
foreach($data as $k=>$v){
if($v["type"] == 0){
$data[$k]['s_url'] = $v['url'];//缩略图
}elseif($v["type"] == 3){
$data[$k]['s_url'] = $osshelp->getUrl($v['url']);//音频
}else{
$data[$k]['s_url'] = $osshelp->getUrl($v['url'],1);
}
}
return $data;
}

浙公网安备 33010602011771号