yii\rbac\DbManager::getAssignment PHP Method

getAssignment() public method

public getAssignment ( $roleName, $userId )
    public function getAssignment($roleName, $userId)
    {
        if (empty($userId)) {
            return null;
        }
        $row = (new Query())->from($this->assignmentTable)->where(['user_id' => (string) $userId, 'item_name' => $roleName])->one($this->db);
        if ($row === false) {
            return null;
        }
        return new Assignment(['userId' => $row['user_id'], 'roleName' => $row['item_name'], 'createdAt' => $row['created_at']]);
    }

Usage Example

 /**
  * Phân quyền quản trị
  */
 public function actionAssigndata()
 {
     $params = \Yii::$app->request->post();
     if (!empty($params)) {
         self::removeAssignmentByUserId($params['id']);
         if (!empty($params['data'])) {
             $dbManager = new DbManager();
             $dbManager->init();
             foreach ($params['data'] as $role) {
                 $assignment = $dbManager->getAssignment($role, $params['id']);
                 if ($assignment == null) {
                     $dbManager->assign($dbManager->getPermission($role), $params['id']);
                 }
             }
         }
         return $this->response(new Response(true, "Cấp quyền cho tài khoản thành công", []));
     }
 }