Всем привет! Подскажите, есть ли более красивый способ определить является ли пользователь участником сообщества?
При выборе списков сообществ, нужно постоянно знать, является ли текущий пользователь участником каждого сообщества... В итоге запрос получается таким...
SELECT g.`id`, g.`title`, g.`descr`, gm.`id` is_member
FROM `groups` g
LEFT JOIN `groups_members` gm ON gm.`group_id` = gm.`id` AND gm.`user_id` = ".$this->user->getUserId()."
LIMIT 0, 20
Смысл кода такой: мы получаем список групп и некоторые поля из них, а так же с помощью LEFT JOIN пытаемся получить из таблицы, отвечающей за хранение данных о участниках сообществ, строку, где ID сообщества и ID участника равны текущему сообществу и текущему пользователю (обратившемуся к скрипту).
После, на стороне php я проверяю, если значение is_member == NULL - значит пользователь не участник сообщества.
Правильный ли это подход? Что если таких проверок нужно много и с разными таблицами?