如何将IN运算符与Yii2REST Web服务的GET请求一起使用

alv*_*fvr 5 php yii2

Yii2 REST Web服务的文档说明,我们可以通过GET HTTP请求中通过URL传递的查询参数来过滤搜索到的集合。

在文档中:“此外,您可以对诸如http:// localhost / users?sort = -emailhttp:// localhost / users?sort = -email之类的集合进行排序。对诸如http:// localhost / users?filter [id ] = 10http:// 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”需要多个操作数。”)

...以及其他情况相同的情况

alv*_*fvr 1

大家好,似乎通过在 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] 运算符,否则它将不起作用