php – 如何使用IN运算符和Yii2REST Web服务的GET请求

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

来自doc:
“另外,您可以对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](在“需要多个操作数”中返回错误消息“运算符”.)

……和其他方式相同的情况

最佳答案 直到您发布实例化并加载DataFilter的代码,我不确定这是否对您有所帮助.

..所以,基于你问题中的用例,我假设你正在使用
$dataFilter->负载(Yii的:: $APP->请求 – > queryParams)

因此,如果您希望它们进行核心评估,这应该是您的查询参数格式化的正确方法

?filter[id][in][]=1&filter[id][in][]=2&filter[id][in][]=3

基于文档data filterusing data filters中的这些示例

点赞