@or1gami

Как правильно реализовать систему групп у пользователя?

Привет! Есть нужда сделать отображение постов для пользователя в зависимости от его группы. Групп может быть несколько. Офис, Второй офис, Третий офис. Они независимы и никакой иерархии не имеют. Так вот, нужно что бы посты из бд отображались только пользователям определенной группы. Хочу реализовать это красиво, поэтому и решил спросить) В SQL не силен
  • Вопрос задан
  • 79 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Akina
Сетевой и системный админ, SQL-программист.
нужно что бы посты из бд отображались только пользователям определенной группы.

Перевернись, не с той стороны смотришь. Наоборот, юзеру должны отображаться посты только его групп.
Решается элементарно.
На текущей структуре это будет

FROM post
JOIN user ON user_id = {текущий пользователь} AND FIND_IN_SET(post.group_id, user.group_ids_csv)

Однако функция в связи - это прощай индексы и здравствуй фуллскан.

ID username group
1 admin 1,2,3


Дурацкая схема хранения.
Если есть связь M:N, то должна быть связующая таблица (user_id, group_id).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 18:38
1500 руб./в час
19 апр. 2024, в 18:36
1500 руб./за проект
19 апр. 2024, в 18:36
30000 руб./за проект