Увійшовши, я хочу перевірити джерело даних сторонніх сторін (таблиця в db) для користувача, і якщо він знайдеться, я хочу додати йому роль.
Я не хочу здогадуватися про позбавлення від ролі, я хочу отримати її від імені ролі.
Увійшовши, я хочу перевірити джерело даних сторонніх сторін (таблиця в db) для користувача, і якщо він знайдеться, я хочу додати йому роль.
Я не хочу здогадуватися про позбавлення від ролі, я хочу отримати її від імені ролі.
Відповіді:
Це досить просто з користувачем_roles () та array_search () . Нижче наведена функція, яка повертає ідентифікатор ролі, якщо є роль, що відповідає імені та FALSE в іншому випадку.
function get_role_by_name($name) {
$roles = user_roles();
return array_search($name, $roles);
}
// Sample usage
$rid = get_role_by_name('administrator');
Один лайнер буде:
$rid = array_search('administrator', user_roles());
Знаючи назву машини ролі, достатньо використовувати user_role_load_by_name()
.
if ($role = user_role_load_by_name('Role Name')) {
// The role ID is in $role->rid.
}
Якщо роль може не існувати ...
$role = user_role_load_by_name('Role Name');
$role_id = $role ? $role->rid : NULL;
Найкращий спосіб визначити роль та її ідентифікатор - через SQL. Запустіть цей запит у вашому редакторі SQL.
select * from roles;
І ви отримаєте список ролей, включаючи ідентифікатор та вагу.