@or1gami

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

Привет! Есть нужда сделать отображение постов для пользователя в зависимости от его группы. Групп может быть несколько. Офис, Второй офис, Третий офис. Они независимы и никакой иерархии не имеют. Так вот, нужно что бы посты из бд отображались только пользователям определенной группы. Хочу реализовать это красиво, поэтому и решил спросить) В SQL не силен
  • Вопрос задан
  • 73 просмотра
Пригласить эксперта
Ответы на вопрос 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).
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы