Yii2 REST Web服务的文档说明我们可以通过GET HTTP请求中通过URL传递的查询参数来过滤搜索到的集合.
来自doc:
“另外,您可以对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](在“需要多个操作数”中返回错误消息“运算符”.)
……和其他方式相同的情况
最佳答案 直到您发布实例化并加载DataFilter的代码,我不确定这是否对您有所帮助.
..所以,基于你问题中的用例,我假设你正在使用
$dataFilter->负载(Yii的:: $APP->请求 – > queryParams)
因此,如果您希望它们进行核心评估,这应该是您的查询参数格式化的正确方法
?filter[id][in][]=1&filter[id][in][]=2&filter[id][in][]=3
基于文档data filter和using data filters中的这些示例