select([User::tableName() . '.*', 'auth_assignment.item_name as role']) ->leftJoin('auth_assignment', 'auth_assignment.user_id = ' . User::tableName() . '.id'); $dataProvider = new ActiveDataProvider([ 'query' => $query, 'sort' => [ 'defaultOrder' => ['id' => SORT_ASC], ], ]); $this->load($params); if (!$this->validate()) { return $dataProvider; } $query->andFilterWhere([ 'status' => $this->status, 'auth_assignment.item_name' => $this->role, ]); return $dataProvider; } }