Laravel查询生成器按状态搜索

Laravel查询生成器按状态搜索,laravel,laravel-query-builder,Laravel,Laravel Query Builder,在我的项目中,用户可以根据3个条件(已声明、正在进行、已完成)过滤数据 我在url参数[-1,0,1]中传递字符串,以获得活动筛选器。状态是根据来自数据库不同列的多个数据定义的,换句话说,信息不会原始存储在数据库中 如何使用查询生成器检索筛选的数据 $ret=array_filter(分解(',',',$args),'is_numeric'); $declared=in_数组(1,$ret); $progress=in_数组(-1,$ret); finished=在数组中(0,$ret); 如果

在我的项目中,用户可以根据3个条件(已声明、正在进行、已完成)过滤数据

我在url参数[-1,0,1]中传递字符串,以获得活动筛选器。状态是根据来自数据库不同列的多个数据定义的,换句话说,信息不会原始存储在数据库中

如何使用查询生成器检索筛选的数据

$ret=array_filter(分解(',',',$args),'is_numeric');
$declared=in_数组(1,$ret);
$progress=in_数组(-1,$ret);
finished=在数组中(0,$ret);
如果($declared==false&&$progress==false&&$finished==false){
//做这个病例的治疗。。。。
}
如果我必须处理所有这样的情况,我认为这不是非常优化


你有什么想法吗?

如果我理解正确,你有这样一个url
/your link?status=n
,其中
n
是从-1到1的整数

现在,在控制器中,您可以执行以下操作:

public function yourFunction(Request $request) 
{
  if (in_array($request['status'], [-1, 0, 1])) {
     $data = DB::table('your-table')->where('status', $request['status'])->get();
  }
}
我建议您看看管道,并尝试将其与雄辩的或查询生成器一起使用


查看此内容并亲自了解如何实现解决方案。

none,您在查询中使用的字段应单独声明,而不是与json字段中的其他数据混合。如果是GET请求,您应该首先知道可以在请求本身中传递一组数据:然后您可以执行请求('filters')