在對(duì)列表進(jìn)行查詢的時(shí)候經(jīng)常需要定義多個(gè)搜索條件對(duì)數(shù)據(jù)進(jìn)行搜索画拾,下面是一種使用laravel查詢構(gòu)造器查詢的方法,其中姓名和地址為模糊查詢手機(jī)號(hào)和性別為精確查詢
//search_arr為查詢條件的數(shù)據(jù)菜职,示例數(shù)據(jù)如下
$search_arr=[
['type'=>'姓名','value'=>'王'],
['type'=>'地址'青抛,'value'=>'王家村'],
['type'=>'性別'酬核,'value'=>'男']
]
//$query為查詢構(gòu)建器實(shí)例;
function getUserList($search_arr){
return $query->where(function ($query) use($search_arr){
foreach($search_arr as $search){
switch ($search['type']) {
case '姓名':
$query -> where('user_name', 'like', '%'.$search['value'].'%');
break;
case '地址':
$query -> where('user_address', 'like', '%'.$search['value'].'%');
break;
case '手機(jī)號(hào)':
$query -> where(['user_tel'=>$search['value']]);
break;
case '性別':
$query -> where(['user_sex'=>$search['value']]);
break;
}
}
})->get();
}