在dataProvider中使用pageSize进行导出操作时出现问题



这是我的数据提供商在我的控制器:

$dataProvider = new ActiveDataProvider([
'query' => $query,
'sort'=> ['defaultOrder' => ['NumeroInElenco' => SORT_ASC]],
'pagination' => [
'pageSize' => 10,
],
]);

$this->load($params);

现在我可以在我的网格中可视化10条记录,这很好。但是有一个问题,当我激活按钮切换数据(显示所有记录,而不仅仅是前10个),如果我导出数据excel文件只返回给我前10个。我认为原因在于pageSize声明。我该如何解决这个问题?我希望能说清楚,我必须尽快解决这个问题。

设置Pagination为false以获取导出中的所有记录

$dataProvider->pagination = false;
public function actionIndex()
{
$product = Product::find()->where(['show' => 1]);
$pages = new Pagination(['totalCount' => $product->count()]);
$pages->pageSize = 3;
$pages->pageSizeParam = false;
$model=$product->offset($pages->offset)->limit($pages->limit)->all();
return $this->render('index', ['product' => $model, 'page' => $pages]);
}

最新更新