public function testGetDataReturningAllResults() { $allGG = GG::getAll(); foreach ($allGG as $gg) { $gg->delete(); } $numberOfRecords = rand(12, 100); for ($i = 1; $i <= $numberOfRecords; $i++) { $gg = new GG(); $gg->g = 'a'; $this->assertTrue($gg->save()); } $dataProvider = new RedBeanModelDataProvider('GG', 'g', false); $totalItems = (int) $dataProvider->calculateTotalItemCount(); $dataProvider->getPagination()->setPageSize($totalItems); $data = $dataProvider->getData(); $this->assertEquals($numberOfRecords, count($data)); }
/** * @param ExportItem $exportItem * @param RedBeanModelDataProvider $dataProvider */ protected function processRedBeanModelDataProviderExport(ExportItem $exportItem, RedBeanModelDataProvider $dataProvider) { $headerData = array(); $data = array(); $dataProvider->getPagination()->setPageSize($this->getAsynchronousPageSize()); $offset = (int) $exportItem->processOffset; $exportCompleted = true; $startingMemoryUsage = memory_get_usage(); while (true === $this->processExportPage($dataProvider, (int) $offset, $headerData, $data, $exportItem->exportFileModel->id < 0)) { $this->addMemoryMarkerMessageAfterPageIsProcessed($startingMemoryUsage); $startingMemoryUsage = memory_get_usage(); $offset = $offset + $this->getAsynchronousPageSize(); if ($this->hasReachedMaximumProcessingCount()) { $this->addMaxmimumProcessingCountMessage($exportItem); $exportCompleted = false; break; } } $content = ExportItemToCsvFileUtil::export($data, $headerData); if ($exportItem->exportFileModel->id > 0) { $exportFileModel = $this->updateExportFileModelByExportItem($content, $exportItem); } else { $exportFileModel = $this->makeExportFileModelByContent($content, $exportItem->exportFileName); } if (!$exportCompleted) { $this->processInProgressExportItem($exportItem, $exportFileModel, $offset); } else { $this->processCompletedExportItem($exportItem, $exportFileModel); } }