Показать определенные данные в раскрывающемся списке

Как исключить строку базы данных из меню выбора? Например: Администратор может создавать пользователей и добавлять к ним роли. Доступные роли: разработчик, администратор, обычный пользователь. Но пользователь-администратор должен видеть только роли администратора и обычного пользователя. Я знаю, что могу добавить их в меню BREAD, но я хочу ограничить обзор роли разработчика и при добавлении других ролей показывать их автоматически, а не добавлять их по одной в меню BREAD.


person Toma Tomov    schedule 09.11.2019    source источник


Ответы (1)


Самое простое решение — отфильтровать набор ролей, извлеченных из базы данных. Поскольку я не знаком со схемой вашей базы данных, вот примерное решение, которое вы сможете настроить под свои нужды.

$rolesQuery = Role::newQuery();

if (Auth::user()->is_admin) {
    $rolesQuery->where('role', '!=', 'dev');
}

$roles = $rolesQuery->get();

Вы можете кэшировать этот результат для администраторов для использования в будущем.

person Jason    schedule 10.11.2019
comment
Благодарю вас! Достаточно. - person Toma Tomov; 10.11.2019