Как сделать фильтр товаров на php?

296
10 ноября 2017, 10:28

Есть следующий фильтр:

Есть таблица products в БД, есть таблица product_countires (отношение М:М), где содержатся данные о стране-производителе, поскольку в букете их может быть много.

Как правильно обработать данный фильтр? Какой запрос нужно сделать в БД? Т.е. нужно, помимо цены (SELECT * FROM products WHERE price > :price_smallest AND price < price_biggest) нужно как-то выбрать по производителю, т.е. нужно сделать join в таблицу? Но как?

Answer 1

LEFT JOIN легко с этим справляется, вместо id замени на нужный идентификатор для сравнения, можно также использовать сокращения AS

SELECT *
FROM products
LEFT JOIN product_countires ON products.id = product_countires.id
WHERE price.products > :price_smallest
  AND price.products < :price_biggest
  AND ...
  AND ...
READ ALSO
laravel не отправляется email

laravel не отправляется email

Зарегистрировался на mailjet, пітаюсь отправить стандартное сообщение с восстановлением пароля, сообщение типа отправляется, ошибок нет, но на почту...

224
Laravel 5.5 фиксированное количество hasMany связей

Laravel 5.5 фиксированное количество hasMany связей

ПриветствуюРеализую мультиязычный функционал новостей на сайте

253
Как создать динамический файл с помощью PHP?

Как создать динамический файл с помощью PHP?

Помогите, пожалуйста, разобраться с задачейЕсть файл в котором, например, 5 строк

196
не понятное условие

не понятное условие

Есть такой код и я не понимаю, что он делает, но он магическим образом выводит карусель с даннымиЗаказчик прислал мне правки в которых надо,...

244