kartik-v / yii2-export

A library to export server/db data in various formats (e.g. excel, html, pdf, csv etc.)
http://demos.krajee.com/export
Other
165 stars 126 forks source link

Cannot get data from ActiveDataProvider added by setModels() when batchSize is used after first page #375

Open vatavale opened 8 months ago

vatavale commented 8 months ago

I have an ActiveDataProvider

$dataProvider = new ActiveDataProvider([
    'query' => $query,
    'pagination' => [
       'pageSize' => 20,
    ]
]);

// Add some data to the dataProvider
$models = $dataProvider->getModels();
foreach ($models as $key => $model) {
   $models[$key]['saleTicket'] = SaleTicket::findOne($model['id']);
}
$dataProvider->setModels($models);

In the view file I successfuly use $model['saleTicket'] data in the Yii-Grid at any page (using pagination).

But in the Yii-Export this additional $model['saleTicket'] available only at the "first page" of the export with batchSize. After first batch I've got only "query" data.

    $exportProvider = clone $dataProvider;
    $exportProvider->pagination = clone $dataProvider->pagination;
    $exportProvider->pagination->page = 0;
    $exportProvider->pagination->pageSize = 50;
    $fullExportMenu = ExportMenu::widget([
        'dataProvider' => $exportProvider,
        'batchSize' => 50,
        'columns' => $gridColumns,
        'clearBuffers' => true,
    ]);

Expected behavior

All data should be available at the export with batchSize.