У меня есть страница в моей административной области, где я хочу запретить пользователям, но я хочу разрешить только запрет пользователям с одной ролью: user .Вот некоторые примеры данных
Пользователь 1 - Роли (запрещены)
Пользователь 2 - Роли (администратор, пользователь)
Пользователь 3 - Роли (закрыты)
Пользователь 4- Роли (пользователь)
Должен быть возвращен только пользователь 4, поскольку он является единственным пользователем, у которого есть роль пользователя и роль пользователя только .Я попытался написать свой собственный запрос ниже, но застрял с тем, как исключить пользователей с более чем просто ролью user .
SELECT users.*, COUNT(*) AS role_count
FROM users
JOIN roles_users
ON users.id = roles_users.user_id
JOIN roles
ON roles_users.role_id = roles.id
GROUP BY users.id
Помещение туда WHERE roles.name = 'user'
делает role_count = 1
Любая помощь приветствуется.