Можно ли хранить массив идентификаторов в столбце таблицы, который ссылается на идентификаторы из другой таблицы, чтобы я мог выполнить запрос выбора и определить, находится ли конкретный идентификатор в этом столбце?
Пример сценария ниже.
У меня есть 3 таблицы, как это:
Table: tab_groups with Columns: id, name
Table: tab_users with Columns: id, name, groups
Table: tab_forums with Columns: id, title, req_groups
Пользователь может принадлежать к нескольким группам, идентификаторы групп, к которым они принадлежат, хранятся в groups
колонка.
На форуме может быть указано несколько обязательных групп, идентификаторы которых хранятся в req_groups
, Пользователь должен принадлежать как минимум к 1 группе, которая соответствует хотя бы 1 требуемой группе для просмотра форума.
Как я должен хранить groups
а также req_groups
столбцы, чтобы позже я мог выполнить запрос SELECT, чтобы проверить, принадлежит ли пользователь группе, которая соответствует идентификатору группы, необходимому для просмотра форума?
Кроме того, как мне обновить эти столбцы, чтобы включить новые идентификаторы или удалить старые?
В настоящее время у меня есть довольно неэффективный метод, который заключается в сохранении их в виде строки с разделителем (например, 1, 2, 3, 4), последующем их разбиении в PHP и проверке сравнения в цикле.
Для обновления я просто проверяю, существует ли значение, и добавляю его в строку.
Задача ещё не решена.
Других решений пока нет …