public static function getList($page = 1, $rows = 10, $condition = '', $conditionParams = []) { $return = []; $query = new Query(); $query->select('COUNT(1)'); $query->from(self::tableName() . ' t0'); $query->where($condition, $conditionParams); $result['total'] = $query->scalar(); $query->select(['t0.id', 't0.username', 't0.email', 't1.firstname', 't1.lastname']); $query->join('LEFT JOIN', 'user_profile t1', 't0.id = t1.user_id'); $query->offset($page * $rows - $rows); $query->limit($rows); $result['rows'] = $query->All(); foreach ($result['rows'] as $k => $v) { $myRoles = Yii::$app->authManager->getRolesByUser($v['id']); if (count($myRoles)) { foreach ($myRoles as $kk => $vv) { $result['rows'][$k]['role'] = $kk; break; } } } return $result; }