Laravel RESTful API с несколькими значениями параметров

Я делаю фильтр для своих продуктов, и мне нужно сделать что-то вроде http://example.com/products?type=laptop&CPU = i7. Это здорово, но мне нужно сделать это с множественным выбором спецификаций. Возможно, пользователь захочет выбрать Core i7 и Core i5, чтобы сравнить цены на ноутбуки. Любая идея, как сделать этот RESTful на Laravel?

0

Решение

Это не 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']

Другой, более «родной» способ — создать массив из фактического URL, что можно сделать, просто добавив [] на имя вашего выбора (при условии, что ваши фильтры сделаны с помощью элемента 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;

или что вы делаете потом.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]