2015-08-05 4 views
0
$location = $details['location']; 
    $specializationAreasName = $details['specialization_areas']; 
    if($details['location'] == 'all'){ 
     $location = ''; 
    } 
    if($specializationAreasName == 'all'){ 
     $specializationAreas = '1 = 1'; 
    } 
    else{ 
     $specializationAreas = "'specialization_areas','like', '%'".$specializationAreasName."'%'"; 
    } 

    $result = Lawyers :: with('SkillsMappedToLawyer') 
         ->where('location',$location) 
         ->where($specializationAreas) 
         ->take(10)->skip($skip) 
         ->get(); 

Пожалуйста, найдите мой код Если местоположение == все, то я хочу искать все или еще мне нужно искать критерии, которые являются динамическими. Может кто-нибудь помочь мне решить эту проблему?Laravel where condition

ответ

2

Попробуйте это:

$location = $details['location']; 
$specializationAreasName = $details['specialization_areas']; 

$query = Lawyers :: with('SkillsMappedToLawyer'); 

if($details['location'] != 'all'){ 
    $query = $query->where('location', $location); 
} 

if($specializationAreasName != 'all'){ 
    $query = $query->where('specialization_areas', 'LIKE', '%'.$specializationAreasName.'%'); 
} 


$result = $query 
      ->take(10)->skip($skip) 
      ->get();