2016-07-04 4 views
0

が、私は4つの入力フィールドを持っている場合: 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

私はそれを使用しますが、私はそれらの3人の皆のためにしたいです。宛先がnullでない場合、彼は宛先を選ぶユーザーです。私はクエリがbulit.Ifを選択する場合は、クエリをビルドしたい。 – user3142452

+0

これはできますか?私の答えが – user3142452

+1

とすることができます。私はそれを試みますが、何か似たようなことをして、何も関係なく最初の条件(目的地を選んでください) –