Вставка продуктов в таблицу в иерархических отношениях категории и родителя в модели соседнего списка
У меня есть таблица категории, состоящая из модели списка смежности:
id name parent_id
------------------------------
1 Clothing 0
2 Books 0
3 Computers 0
4 Mobiles 0
5 Movies 0
6 Music 0
7 Mens 1
8 Shirts 7
9 Formal Trousers 7
10 Jeans 7
и таблица product_category:
product_id fk
category_id fk
parent_id
и иметь таблицу продуктов:
product_id
category_id
parent_id
prod_name
genre
unit price
image
Как я могу вставить продукты в таблицу, которая имеет ссылку на идентификатор родителя и, в свою очередь, имеет ссылку на категорию. так что я могу получить продукты из parent_id и категорий. и я должен определить parent_id как первичный ключ.. помощь оценена.. спасибо заранее..
1 ответ
Если предположить, что отношения между продуктами и категориями - это M:N, а категории и продукты образуют иерархию (независимо друг от друга), ваша модель должна выглядеть следующим образом:
категория:
category_id PK
parent_id FK -> category.category_id
(other fields...)
товар:
product_id PK
parent_id FK -> product.product_id
(other fields...)
Категория продукта:
product_id FK -> product.product_id
category_id FK -> category.category_id
PK (product_id, category_id)
Я не совсем уверен, что вы подразумеваете под: "как я могу вставить продукты в таблицу, которая имеет ссылку на идентификатор родителя и, в свою очередь, имеет ссылку на категорию"? Предполагая, что вы знаете идентификатор родительского продукта и идентификатор категории, вы можете просто:
INSERT INTO product (product_id, parent_id, other fields...)
VALUES (whatever, known parent id, other values...)
А затем подключите его к категории:
INSERT INTO product_category (product_id, category_id)
VALUES (what you inserted above, known category id)