2016-07-04 50 views
0

我有四個輸入字段: 喜歡這個Laravel如果conditon查詢

$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

我會使用它,但我希望爲他們三個人中的每個人。它的用戶,他選擇的目的地,如果目的地不是空的,我希望查詢是bulit。如果他選擇的類型只我想要建立查詢。 – user3142452

+0

可以這樣做嗎?沒有ifs – user3142452

+1

你可以做到這一點,如果還有像我的答案 –