Я хочу получить продукты выбранных брендов can be 1 or more (using checkbox)
в Laravel, но он возвращает результат только одного из моих выбранных брендов.
Form
<form action="{{route('mysearch')}}" method="post">
{{csrf_field()}}
<div class="filter-content">
<div class="checkbox">
@foreach($brands as $brand)
<label for="brands">
<input name="brands[]" type="checkbox" value="{{$brand->id}}">
{{$brand->title}}
</label>
@endforeach
</div>
</div>
<button type="submit" class="btn btn-danger">submit</button>
</form>
function
public function mysearch(Request $request) {
$brands = Brand::OfStatus('Active')->get();
$brand = Input::has('brands') ? Input::get('brands') : [];
$products = Product::where('brand_id', '=', $brand)->get();
return view('front.search', compact('products', 'brands'));
}
Если я выберу бренды lenovo
а также lg
Я получаю только результат lenovo
бренд.
Использовать whereIn
:
Product::whereIn('brand_id', $brand)->get();
Других решений пока нет …