Гипотетически у меня три таблицы:
* рецепты - содержит рецепты
* ингредиенты - список предметов
* питание - список блюд
У меня есть форма, которая генерирует выбор как:
Choose what ingredients you have:
- apples
- bananas
- cherries
Choose the meal this is for:
- breakfast
- lunch
- dinner
Я хочу, чтобы пользователь мог выбирать из одного или ни одного из вышеперечисленных, то есть он может выбирать яблоки ИЛИ вишню ИЛИ (бананы и обед)
Когда я запрашиваю MySQL, мой запрос примерно равен
select recipes.* from recipes
или
select recipes.* from recipes, ingredients
where recipes.id= ingredients.id and ingredients.list in ('apple');
или
select recipes.*
from recipes, ingredients, meal
where recipes.id= ingredients.id
and ingredients.list
and ingredients.id = meals.id
and ingredients.list ('apple')
and meals.list in ('lunch');
Есть ли хороший способ сказать (в PHP), существует ли этот массив (то есть is_array (ингридиенты) добавить к запросу таблицу (ингридиенты) и в конце добавить (".ingredients.list in ('apple') )) ...
без необходимости записывать все возможные комбинации или возможные входные данные (т. Е. Пользователь, выбранный из списка ингредиентов, или из списка ингредиентов и блюд, или из списка)?