update 1.0.8.0
Commits for version update
This commit is contained in:
49
vendor/maatwebsite/excel/docs/import/chunk.md
vendored
Normal file
49
vendor/maatwebsite/excel/docs/import/chunk.md
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
# Chunk importer
|
||||
|
||||
When dealing with big files, it's better to import the data in big chunks. You can enable this with `filter('chunk')`;
|
||||
To import it into chunks you can use `chunk($size, $callback)` instead of the normal `get()`. The first parameter is the size of the chunk. The second parameter is a closure which will return the results.
|
||||
|
||||
Excel::filter('chunk')->load('file.csv')->chunk(250, function($results)
|
||||
{
|
||||
foreach($results as $row)
|
||||
{
|
||||
// do stuff
|
||||
}
|
||||
});
|
||||
|
||||
## ExcelFile class example:
|
||||
|
||||
When working with ExcelFile injections (in the constructor or as method injection), you can enable the chunk filter inside the ExcelFile class
|
||||
|
||||
class UserListImport extends \Maatwebsite\Excel\Files\ExcelFile {
|
||||
|
||||
public function getFile()
|
||||
{
|
||||
return 'file.csv';
|
||||
}
|
||||
|
||||
public function getFilters()
|
||||
{
|
||||
return [
|
||||
'chunk'
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Injected ExcelFile example:
|
||||
|
||||
public function importUserList(UserListImport $import)
|
||||
{
|
||||
$import->chunk(250, function($results)
|
||||
{
|
||||
// do stuff
|
||||
// or return true if you want to stop importing.
|
||||
});
|
||||
}
|
||||
|
||||
## Queued chunks
|
||||
|
||||
We automatically queue every chunk for you, if you have enabled the queue driver in your config.
|
||||
|
||||
If you want to by-pass the behaviour, you can pass `false` as third param of `chunk($size, $callback, $shouldQueue)`.
|
||||
Reference in New Issue
Block a user