Имеется таблица:
filters_to_products
Структура:
id
category_id
product_id
filter_id
Имеется форма
<form method="get">
<input type="checkbox" value="1" name="array[]">
<input type="checkbox" value="2" name="array[]">
<input type="checkbox" value="3" name="array[]">
<input type="checkbox" value="4" name="array[]">
<button>Filter</button>
</form>
P.S инпуты динамические.
Имеется контроллер:
foreach($request->input('array') as $row) {
$ids = $row;
}
$items = Item::where('category_id', '1')->whereIn('id', $ids)->get()->all();
Беда в том, что фильтр должен отсеивать значения, к примеру если я выбрал чекбокс с value 1 и чекбокс с value 2
то мне должны вывестись только те item-ы которые есть в таблице по совпадению, а тут получается что у меня выборка происходит по тем которые имеют такой id, то есть грубо говоря позиции не фильтруются, а суммируются на основе фильтров.
Вам нужна функция where() ?
Items::where(cpu, 'i7')->where(diagonal, 13)->where(category, 'Notebook')->get();
UPD
Тогда так
$items = Item::where('category_id', '1')
foreach($request->input('array') as $row) {
$items->where('id', row)
}
$items->get();
Должно сработать на основе особенностей Eloquent-а, когда запрос не заканчивается, пока не выполнен get()
. Ну или можно менее извращенно сделать через whereRaw, как больше нравится.
Проще всего, сразу сделать так:
$item = Item::where('category_id', '1')->whereIn('id', array_filter(request()->array))->get();
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
ЗдравствуйтеДостаточно ли использовать данный вариант фильтрации перед записью в базу данных (менять на мнемонический код )?
Пытаюсь написать плагин и при его активации выдает вот такое сообщение