How to get users of a specefic role in Yii2 and DbManager in RBAC?
Please introduce some API for user management and role management.
I searched and read Yii2 guide but I didn't find any solution.
Since Yii version 2.0.7, DbManager
and ManagerInterface
which it implements have getUserIdsByRole($roleName)
which does what you want without custom code.
I wrote this function which can be added to an User class.
/**
* Finds all users by assignment role
*
* @param \yii\rbac\Role $role
* @return static|null
*/
public static function findByRole($role)
{
return static::find()
->join('LEFT JOIN','auth_assignment','auth_assignment.user_id = id')
->where(['auth_assignment.item_name' => $role->name])
->all();
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With