Laravel RESTFUL查询字符串:处理“OR”条件

时间:2014-12-17 21:45:23

标签: rest laravel

比如说我有一个Dog资源,我想使用我正在创建的一些RESTful API来查询这个资源。

如何生成并因此处理具有“OR”条件的查询。例如:

http://url/dogs/?color=brown|black

以上是一个有效的网址,可以请求所有棕色或黑色的狗,我将如何处理Laravel?

2 个答案:

答案 0 :(得分:1)

这很直接。

首先使用Input::get()获取值,然后使用explode

$color = Input::get('color');
$colors = explode('|', $color);

// results in array('brown', 'black');

关于URL中的管道字符。它是有效的,但只是可能在某处导致问题。也许一个简单的连字符效果更好color=brown-black。虽然我不得不承认,我更喜欢管道外观......

答案 1 :(得分:1)

使用数组:

http://url/dogs/?color[]=brown&color[]=black

然后在代码中使用数组:

$colors = Input::get('color');

$dogs = Dog::whereIn('color', $colors)->get();