Я создаю приложение для здоровья и питания и использую единство в качестве своего двигателя. У меня есть база данных SQLite, которая содержит рецепты, поля ID (первичный ключ), имя, ингредиенты и метод. Каждый рецепт является записью в базе данных, и у них есть свои списки ингредиентов. Цель состоит в том, чтобы позволить пользователю вводить ингредиенты, и программа отфильтрует рецепт по ингредиентам.
Я ожидаю, что когда пользователь вводит муку (в качестве примера), он покажет все рецепты, которые используют муку. Например: яблочный пирог, торт и так далее. Вместо этого, если я хочу искать ингредиенты, входные данные должны быть идентичны всему, чтобы
Вы должны прочитать о том, как работают реляционные базы данных. Прямо сейчас, когда все в одной таблице, ваша база данных на самом деле не более полезна, чем простая электронная таблица Excel.
Вы хотите три стола; один для ингредиентов, один для рецептов, и один, чтобы присоединиться к ним, который я назову Ingredient_Recipe. Таблица Ingredient_Recipe будет иметь два внешних ключа, один из таблицы ингредиентов, один из таблицы рецептов. Затем вы можете выполнять SQL-запросы, как в этом примере:
select Recipes.recipeName
from Recipes
INNER JOIN Ingredient_Recipe ON recipe_ID = Ingredient_Recipe.recipe_ID
Where Ingredient_ID = "oregano"
Который должен рассказать вам каждый рецепт, который содержит орегано.
классический реляционный способ сделать это - иметь таблицу ингредиентов и таблицу отношений (ingedientrecipe), чтобы вы могли запрашивать все ингредиенты в рецепте или все рецепты, которые содержат данный ингредиент