【发布时间】:2015-02-16 13:54:36
【问题描述】:
例如,我有一个 Dog 资源,我想使用我正在创建的一些 RESTful API 来查询该资源。
我将如何生成并处理带有“OR”条件的查询。例如:
http://url/dogs/?color=brown|black
以上是请求所有棕色或黑色狗的有效 URL,我将如何使用 Laravel 处理这个问题?
【问题讨论】:
例如,我有一个 Dog 资源,我想使用我正在创建的一些 RESTful API 来查询该资源。
我将如何生成并处理带有“OR”条件的查询。例如:
http://url/dogs/?color=brown|black
以上是请求所有棕色或黑色狗的有效 URL,我将如何使用 Laravel 处理这个问题?
【问题讨论】:
这很简单。
先使用Input::get()获取值再使用explode
$color = Input::get('color');
$colors = explode('|', $color);
// results in array('brown', 'black');
关于一般 URL 中的管道字符。它是有效的,但只是可能在某处引起问题。也许一个简单的连字符效果更好color=brown-black。虽然不得不承认,我更喜欢烟斗的样子……
【讨论】:
使用数组:
http://url/dogs/?color[]=brown&color[]=black
然后在你的代码中使用数组:
$colors = Input::get('color');
$dogs = Dog::whereIn('color', $colors)->get();
【讨论】: