Laravel如果条件查询

时间:2016-07-04 18:05:49

标签: jquery mysql laravel if-statement

我有四个输入字段: 喜欢这个

$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();   
}

等 但问题是,如果有人建议解决方案,$ query无法正确显示。

1 个答案:

答案 0 :(得分: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();
 }