totalCount = $query->count(); $pagination->setPageSize($pageSize); $pagination->setPage($page - 1, true); if ($query instanceof ActiveQuery) { $query->asArray(); } $models = $query->offset($pagination->getOffset())->limit($pagination->getLimit())->all(); $dataProvider = new ArrayDataProvider([ 'models' => $models, 'pagination' => $pagination, ]); return [ 'dataList' => $dataProvider->getModels(), 'totalCount' => $dataProvider->getPagination()->totalCount, 'pageCount' => $dataProvider->getPagination()->getPageCount(), ]; } }