2016-07-04 5 views
0

Ich habe vier Eingabefelder: Gefällt Ihnen diesesLaravel wenn conditon Abfrage

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

ich folgendes:

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

etc jedoch das Problem, dass $ query wird nicht korrekt angezeigt wird, jemand kann eine Lösung vorschlagen.

+0

ich die Abfrage für meine Post benötigen view.So es muss bei jedem if abgefragt werden. – user3142452

+1

Gibt es einen Fehler? – Laerte

+0

nein, aber die Abfrage ist verbunden und gibt mir kombinierte Ergebnisse, was ich will, ist jede Abfrage ein Ergebnis vielleicht einen anderen Weg als wenn – user3142452

Antwort

1

Wenn Sie das Ergebnis mit allen Optionen kombiniert bekommen möchten, können Sie die Folge tun (mit union Methode können Sie mehrere Abfragen kombinieren):

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

Ich werde es verwenden, aber ich möchte für jeden der drei von ihnen. Es ist ein Benutzer, den er Ziel wählt, wenn das Ziel nicht null ist, ich möchte die Abfrage bulit.Wenn er den Typ nur ich möchte die Abfrage erstellt werden. – user3142452

+0

könnte dies getan werden? ohne ifs – user3142452

+1

können Sie es tun, wenn sonst wie meine Antwort –