过滤你的API结果
构建API的另一个常见任务是过滤掉除了某个数据子集之外的所有数据。 例如,客户可能会要求列出吉娃娃狗。
JSON API在这里没有给出任何关于语法的好主意,除此之外我们应该使用过滤器查询参数。 让我们按照排序语法的思路思考,我们将所有内容放在一个单一的键中 - 也许??filter=breed:chihuahua 你可以在示例13-13看到如何做到这一点。
Example 13-13. Single filter on API results
注意,在示例13-13中,我们使用的是request()助手,而不是注入$request的实例。两者的工作原理相同,但有时当您在一个闭包中工作时,request()助手会更容易,因为不必手动传递变量。
Laravel 5.2之前版本的查询条件修改
如果你的项目运行在Laravel 5.2之前版本,你需要使用PHP if 语句替代$query->when()
示例13-14我们运行多层过滤。例如?filter=breed:chihuahua,color:brown
Example 13-14. Multiple filters on API results
Last updated