Laravel RESTful API 具有多个参数值
Laravel RESTful API with multiple values of params
我正在为我的产品制作过滤器,我需要做类似 http://example.com/products?type=laptop&cpu=i7 的事情。这很棒,但我需要使用多个 select 规范来完成此操作。也许用户希望select 酷睿i7和酷睿i5来比较笔记本电脑的价格。知道如何在 laravel 上执行此 RESTful 吗?
这不是 Laravel 特定的,但是您 可以 做的是将您的想法放在分隔符上(fx.逗号)并做一个简单的 explode()
将它们分开。
//http://example.com/products?type=laptop&cpu=i7,i5,amdathlon
$cpus = explode("," Input::get('cpu')); //Will produce an array ['i7','i5','amdathlon']
另一种更 "native" 的方法是在实际的 URL 中创建一个数组,只需将 []
添加到 select 的名称即可](假设您的过滤器由 select 元素构成)
<select name="cpu[]" multiple>
...
</select>
然后可以像这样访问:
//http://example.com/products?type=laptop&cpu[]=i7&cpu[]=i5&cpu[]=amdathlon
$cpus = Input::get('cpu'); //['i7','i5','amdathlon']
然后,您可以执行以下操作:
Cpu::whereIn('core', $cpus)->laptops;
或者之后你在做什么。
我正在为我的产品制作过滤器,我需要做类似 http://example.com/products?type=laptop&cpu=i7 的事情。这很棒,但我需要使用多个 select 规范来完成此操作。也许用户希望select 酷睿i7和酷睿i5来比较笔记本电脑的价格。知道如何在 laravel 上执行此 RESTful 吗?
这不是 Laravel 特定的,但是您 可以 做的是将您的想法放在分隔符上(fx.逗号)并做一个简单的 explode()
将它们分开。
//http://example.com/products?type=laptop&cpu=i7,i5,amdathlon
$cpus = explode("," Input::get('cpu')); //Will produce an array ['i7','i5','amdathlon']
另一种更 "native" 的方法是在实际的 URL 中创建一个数组,只需将 []
添加到 select 的名称即可](假设您的过滤器由 select 元素构成)
<select name="cpu[]" multiple>
...
</select>
然后可以像这样访问:
//http://example.com/products?type=laptop&cpu[]=i7&cpu[]=i5&cpu[]=amdathlon
$cpus = Input::get('cpu'); //['i7','i5','amdathlon']
然后,您可以执行以下操作:
Cpu::whereIn('core', $cpus)->laptops;
或者之后你在做什么。