2016-07-04 2 views
0

나는 4 개 개의 입력 필드가 : 나는 다음을 수행이Laravel 경우 실행 조건 쿼리

$cou = Input::get('activitycou'); 
$type = Input::get('activitytype'); 
$Des = Input::get('activityDes'); 

처럼 :

If ($type!=null){ 
$query=Activity::where('id', $type)->get(); 
} 
If ($Des!=null){ 
$query=Activity::where('des_id', $Des)->get(); 
} 

등 문제가 그 $ 쿼리를 제대로 할 수 표시되지 않습니다되어 그러나 사람을 해결책을 제안하십시오. 당신은 당신이 추적을 할 수있는 모든 옵션과 결합 된 결과를 얻고 싶다면

+0

내가 view.So 내 게시물에 대한 질의를 필요로한다 모든 if에서 질의가 필요합니다. – user3142452

+1

오류가 발생합니까? – Laerte

+0

아니지만 쿼리가 연결되어 있고 내가 원하는 결과를 어쩌면 다른 방법으로 각 쿼리 결과가 어쩌면 결합 된 결과를 준다 – user3142452

답변

1

(union 방법으로 여러 쿼리를 결합 할 수 있습니다) :

If ($type!=null && $Des!=null && $cou!=null){ 
    $query1 = Activity::where('id', $type); 
    $query2 = Activity::where('des_id', $Des); 
    $query3 = Activity::where('des_id', $cou); 
    $allQueries = $query1->union($query2)->union($query3)->get(); 
} elseif ($type!=null && $Des!=null){ 
    $query1 = Activity::where('id', $type); 
    $query2 = Activity::where('des_id', $Des); 
    $allQueries = $query1->union($query2)->get(); 
} elseif ($type!=null && $cou!=null){ 
    $query1 = Activity::where('id', $type); 
    $query2 = Activity::where('des_id', $cou); 
    $allQueries = $query1->union($query2)->get(); 
} elseif ($type!=null && $cou!=null){ 
    $query1 = Activity::where('id', $type); 
    $query2 = Activity::where('des_id', $Des); 
    $allQueries = $query1->union($query2)->get(); 
} elseif ($Des!=null && $cou!=null){ 
    $query1 = Activity::where('id', $cou); 
    $query2 = Activity::where('des_id', $Des); 
    $allQueries = $query1->union($query2)->get(); 
} elseif ($type!=null){ 
    $query1 = Activity::where('id', $type)->get(); 
} elseif ($Des!=null){ 
    $query1 = Activity::where('id', $Des)->get(); 
} elseif ($cou!=null){ 
    $query1 = Activity::where('id', $cou)->get(); 
} 
+0

나는 그것을 사용할 것이다. 그러나 나는 그들 중의 3 명 모두를 원한다. 목적지가 null이 아니라면 그가 목적지를 선택하는 사용자이다. 나는 쿼리가 bulit가되기를 바란다. 만약 그가 타입을 선택했다면 나는 쿼리를 만들길 원한다. – user3142452

+0

이 작업을 수행 할 수 있습니까? ifs – user3142452

+1

없이는 내 대답 –