过滤查询参数

时间:2016-11-08 21:34:25

标签: laravel-5.3

我正在尝试为我的集合资源实现过滤查询参数,但我不确定处理查询参数的最佳方法。如果我有这样的请求:

http://test.app/users?created_at>=2016-10-01

生成的查询参数为:

{"created_at>":"2016-10-01"}

如果请求是:

http://test.app/users?created_at>2016-10-01

生成的查询参数为:

{"created_at>2016-10-01":""}

是否有任何现有的解决方案来处理这些类型的查询参数?

1 个答案:

答案 0 :(得分:1)

通过查询字符串传递这些类型的运算符是一种不好的做法。

在查询字符串中使用此格式(来自http://www.tldp.org/LDP/abs/html/comparison-ops.html的引用):

  • gt(大于)
  • ge(大于或等于)
  • lt(小于)
  • le(小于或等于)

在您的情况下,它应该是这样的:http://test.app/users?created_at[ge]=2016-10-01或者:http://test.app/users?created_at=2016-10-01&comparison=ge