Laravel 如果有多个查询,如何生成对db的查询;其中;是否在循环中添加了?

Laravel 如果有多个查询,如何生成对db的查询;其中;是否在循环中添加了?,laravel,laravel-5,eloquent,laravel-eloquent,Laravel,Laravel 5,Eloquent,Laravel Eloquent,我有一个包含两个传入数组的方法。第一个数组$columns[]包含列名称。第二个$filters[]包含搜索筛选器。如何仅使用一个搜索查询对这些列的所有值进行排序?我不知道如何通过“雄辩”做到这一点。 我想生成如下内容: $data::where($columns[0], '=', $filters[0]) ->where($columns[1], '=', $filters[1]) ... ->where($c

我有一个包含两个传入数组的方法。第一个数组$columns[]包含列名称。第二个$filters[]包含搜索筛选器。如何仅使用一个搜索查询对这些列的所有值进行排序?我不知道如何通过“雄辩”做到这一点。 我想生成如下内容:

$data::where($columns[0], '=', $filters[0])
            ->where($columns[1], '=', $filters[1])
            ...
            ->where($columns[n], '=', $filters[n])
你可以使用任何循环

$query = new Model;
$count = count($columns);
for($i=0;$<$count;$i++){
   $query->where($columns[$i], '=', $filters[$i]);
}
$result = $query->get();
$query=新型号;
$count=计数($columns);
对于($i=0;$where($columns[$i],'=',$filters[$i]);
}
$result=$query->get();
您可以使用任何循环

$query = new Model;
$count = count($columns);
for($i=0;$<$count;$i++){
   $query->where($columns[$i], '=', $filters[$i]);
}
$result = $query->get();
$query=新型号;
$count=计数($columns);
对于($i=0;$where($columns[$i],'=',$filters[$i]);
}
$result=$query->get();
试试这个:

 $data = new Model::query();
    for($i=0; $i<count($columns); $i++)
    {
       $data->where($columns[$i], $filter([$i]));
    }

  $res =  $data->get();
$data=newmodel::query();
对于($i=0;$iwhere($columns[$i],$filter([$i]));
}
$res=$data->get();
如果我把你的问题弄错了,很抱歉请尝试以下方法:

 $data = new Model::query();
    for($i=0; $i<count($columns); $i++)
    {
       $data->where($columns[$i], $filter([$i]));
    }

  $res =  $data->get();
$data=newmodel::query();
对于($i=0;$iwhere($columns[$i],$filter([$i]));
}
$res=$data->get();

很抱歉,如果我把你的问题搞错了

你可以用
$count=sizeof($columns);
@ValdoRaya:很好,但我的意图是共享循环以添加where子句。@user2486。看起来这就是我需要的。对于($I=0;$iwhere($whereColumns[$I],“=”,$whereFilters[$I]),我该如何使用“更新”?)}对于($i=0;$iupdate($updateColumns[$i]=>$updateFilters[$i]);}$result=$query->get();您需要在循环中创建一个或多个数组,并在最后更新您可以将
$count=10;
替换为
$count=sizeof($columns)
@ValdoRaya:很好,但我的目的是共享循环以添加where子句。@user2486.看起来这正是我需要的。我如何使用“更新”来实现同样的操作呢?$I=0;$iwhere($whereColumns[$I],'=',$whereFilters[$I]);}for($I=0;$iupdate($updateColumns[$I]=>$updateFilters[$I]);}$result=$query->get();您需要在循环中生成数组或行,并在最后更新