Здравствуйте, ребята,whereHas запрос в Laravel
$filterArray = explode("_", $filters);
$data['articles'] = \DB::table('products')->join('product_category', function ($q) {
$q->on('product_category.product_id', '=', 'products.id');
})->where('product_category.category_id', '=', $id)
->select('products.*')
->whereBetween('price_retail_1', array($priceFrom, $priceTo))
->whereHas('filters', function ($query, $filterArray) {
$query->whereIn('filter_id', $filterArray);
})
->orderBy('products.' . $sort, $sortOrder)
->get();
}
У меня есть следующий запрос, и у меня возникают некоторые вопросы по методу whereHas. Я получаю сообщение об ошибке
Unknown column 'has' in 'where clause
скорее всего потому, что переменная $ filterArray выходит за рамки для функции (или, по крайней мере, это то, что я угадал. Любая помощь о том, как решить этот вопрос ценится.
Разум дает мне пример? Поскольку таблица фильтров может содержать несколько строк одного и того же продукта, мне нужно выполнить поиск OR WHERE на основе данных, данных в массиве фильтров. – kjanko
Конечно. Я верну свою запись. –