Я много искал, но ничего не нашел.
Мой сценарий:
У меня есть база данных с двумя таблицами table_item
и table_item_linked
. table_item
имеет много предметов. Пользователь придет и добавит пункт (ы). Позже приходит другой пользователь и link
один элемент с другим элементом (ами) через форму с двумя dropdown
.
То, что я сделал до сих пор:
Структура table_item
:
+-------------------+
| table_item |
+-------------------+
| item_id (Primary) |
| others |
| .... |
| .... |
| .... |
+-------------------+
Структура table_item_linked
:
+---------------------+
| table_item_linked |
+---------------------+
| linked_id | (Primary)
| item_id | (Foreign key referencing -> item_id of table_item)
| linked_items | (here I need to store ids of linked items)
| linked_by | (referencing to user_id of user_table)
| linked_timestamp | (timestamp)
+---------------------+
Если у меня есть предметы в table_item
вроде:
A
B
C
D
E
F
G
H
Когда я связываю D
с G
Я могу успешно получить G
, когда получаю D
или наоборот. Но проблема возникла, когда я
Ссылка H
с G
Так что я должен получить D
H
при получении G
.
(D
H
G
связаны между собой всеми способами, и после извлечения одного из них два оставшихся должны быть присоединены и извлечены)
Это похоже на множественное отношение (отношение Много ко Многим).
Ребята, я знаю, что должен быть профессиональный способ сделать это. Я хотел бы иметь любое руководство. Я даже могу изменить свою структуру базы данных.
PS:
Пожалуйста, не предлагайте добавлять #tag
, так как один элемент в точности похож на другой связанный.