Есть ли способ поиска в списке в базе данных SQLite? - PullRequest
0 голосов
/ 09 января 2019

Я создаю приложение для здоровья и питания и использую единство в качестве своего двигателя. У меня есть база данных SQLite, которая содержит рецепты, поля ID (первичный ключ), имя, ингредиенты и метод. Каждый рецепт является записью в базе данных, и у них есть свои списки ингредиентов. Цель состоит в том, чтобы позволить пользователю вводить ингредиенты, и программа отфильтрует рецепт по ингредиентам

Я ожидаю, что когда пользователь вводит муку (в качестве примера), он покажет все рецепты, которые используют муку. Например: яблочный пирог, пирожное и так далее. Вместо этого, если я хочу искать ингредиенты, входные данные должны быть идентичны всему, чтобы

Ответы [ 2 ]

0 голосов
/ 09 января 2019

Вы должны прочитать о том, как работают реляционные базы данных. Сейчас, когда все в одной таблице, ваша база данных на самом деле не более полезна, чем простая электронная таблица 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"

Который должен рассказать вам каждый рецепт, который содержит орегано.

0 голосов
/ 09 января 2019

классический реляционный способ сделать это - иметь таблицу ингредиентов и таблицу отношений (ingedientrecipe), чтобы вы могли запрашивать все ингредиенты в рецепте или все рецепты, содержащие данный ингредиент

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...