【问题标题】:Laravel if condition queryLaravel if 条件查询
【发布时间】:2016-11-06 12:14:13
【问题描述】:

我有四个输入字段: 像这样

$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 显示不正确,有人可以提出解决方案吗?

【问题讨论】:

  • 我需要查询我的帖子视图。所以它需要在每个 if 时查询。
  • 它是否抛出任何错误?
  • 否,但查询已连接并为我提供组合结果我想要的是每个查询的结果可能不是 if 的另一种方式
  • 我应该如何处理这个问题?

标签: jquery mysql laravel if-statement


【解决方案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();
 }

【讨论】:

  • 我会使用它,但我想要他们三个人中的每个人。如果目的地不为空,他选择目的地的用户我希望查询是 bulit。如果他只选择类型我想要构建查询。
  • 如果像我的回答一样,你可以这样做
  • 我会试一试,但我做了类似的事情但没有奏效,无论如何它一直要求我使用第一个条件(选择目的地)。
  • 没有ifs有没有办法做到这一点?
  • 没有if else我不知道有什么更好的办法
猜你喜欢
  • 2020-10-24
  • 2014-03-23
  • 2016-02-07
  • 1970-01-01
  • 2020-10-11
  • 1970-01-01
  • 2021-07-25
  • 2020-09-19
  • 2015-05-01
相关资源
最近更新 更多