Yii2 REST Web服务的文档说明,我们可以通过GET HTTP请求中通过URL传递的查询参数来过滤搜索到的集合。
在文档中:“此外,您可以对诸如http:// localhost / users?sort = -email或http:// localhost / users?sort = -email之类的集合进行排序。对诸如http:// localhost / users?filter [id ] = 10或http:// localhost / users?filter [email] [like] = gmail.com可以使用数据过滤器 “
我的问题是如何针对IN条件使用查询参数?
框架的数据过滤器类支持IN条件,但它不起作用,因为我正在这样做。我尝试了这些:
http:// localhost / api / v1 / users?filter [id] [in] [] = 1,2,3(返回空响应) http:// localhost / api / v1 / users?filter [id] [in ] = [1,2,3](返回错误消息“运算符“ in”需要多个操作数。”)
...以及其他情况相同的情况
大家好,似乎通过在 GET 中指定参数运算符,无法使用 IN 条件进行查询,因此解决方案是这样的:
http://localhost/api/v1/users?filter[id][]=1&filter[id][]=2&filter[id][]=3
Run Code Online (Sandbox Code Playgroud)
因为 Yii 会将其转换为 IN 查询,请参见 示例
注意:没有在 URI 中指定 [in] 运算符,否则它将不起作用