Продукт на Несколько Категорий - PHP


Хотел бы знать, как я могу связать изделие в несколько категорий ? Например, рубашка может быть в Категориях : "Зеленый / Синий / Желтый", и когда я filtrasse категорией продукт должен отображаться в категории "Зеленый , Желтый или синий".

я Знаю, что должен использовать Отношения N : N, но как применить это в код PHP? Существует другой способ, без использования отношения N:N, например, из-за массив ?

Author: bfavaretto, 2015-03-30

1 answers

Индику структуру ваших таблиц, но для этого вы должны сделать использование промежуточной таблицы, которая эффективно будет служить в целях связать каждый продукт для нескольких категорий:

Диаграмме EER

ERR Diagram

Таким образом, у вас есть таблица продуктов, таблица категорий и таблица, чтобы установить связь между ними.

Практическом Примере

Чтобы ваше дело", продукт "рубашка" с 3-х категорий, на "Зеленый", "Синий" и "Желтый", так что в таблице produtos_categorias он бы три записи:

Таблица: Продукты

Tabela Produtos

Таблица: Категории

Tabela Categorias

Таблица коэффициент: Продукты ~ Категорий

Tabela de relação entre produtos e categorias

Таким образом, выбирая категорию azul проиграешь проведения запроса типа:

SELECT 
    produtos.nome
FROM produtos_categorias
INNER JOIN produtos ON (produtos.id = produtos_categorias.produtos_id)
INNER JOIN categorias ON (
    categorias.id = produtos_categorias.categorias_id
    AND categorias.nome='azul'
)

, тебя возвращает продукты, которые находятся в категории " azul.


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

 11
Author: Zuul, 2020-06-11 14:45:34