У меня есть 2 таблицы в базе данных MySQL. «Продукты» и «Технические характеристики». Таблица продуктов содержит информацию о продуктах. И «Технические характеристики» содержат спецификацию продукта. Но спецификации являются динамическими c, значит, каждый продукт будет иметь различные типы спецификаций. Ниже приведены некоторые примеры данных.
Products table
=============
id name
---------------------
1 Product A
2 Product B
Specifications table
====================
id product_id spec_type value
-------------------------------------------------
1 1 condition new
2 1 color blue
3 1 size large
4 2 condition new
5 2 color red
6 2 location local
7 2 fragile yes
Теперь, когда пользовательский поиск с условием "условие = новый", в результате должны появиться оба продукта A и B. Но когда поиск «условие = новый И цвет = синий», в результате должен появиться продукт А.
Мне нужна помощь в построении оператора SQL. Я работаю над проектом Laravel, поэтому, если я получу Laravel запросов, это будет бонусом.