updated-packages
This commit is contained in:
51
vendor/maatwebsite/excel/src/MappedReader.php
vendored
Normal file
51
vendor/maatwebsite/excel/src/MappedReader.php
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
|
||||
namespace Maatwebsite\Excel;
|
||||
|
||||
use Illuminate\Support\Collection;
|
||||
use Maatwebsite\Excel\Concerns\ToArray;
|
||||
use Maatwebsite\Excel\Concerns\ToCollection;
|
||||
use Maatwebsite\Excel\Concerns\ToModel;
|
||||
use Maatwebsite\Excel\Concerns\WithCalculatedFormulas;
|
||||
use Maatwebsite\Excel\Concerns\WithFormatData;
|
||||
use Maatwebsite\Excel\Concerns\WithMappedCells;
|
||||
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
|
||||
|
||||
class MappedReader
|
||||
{
|
||||
/**
|
||||
* @param WithMappedCells $import
|
||||
* @param Worksheet $worksheet
|
||||
*
|
||||
* @throws \PhpOffice\PhpSpreadsheet\Exception
|
||||
*/
|
||||
public function map(WithMappedCells $import, Worksheet $worksheet)
|
||||
{
|
||||
$mapped = [];
|
||||
foreach ($import->mapping() as $name => $coordinate) {
|
||||
$cell = Cell::make($worksheet, $coordinate);
|
||||
|
||||
$mapped[$name] = $cell->getValue(
|
||||
null,
|
||||
$import instanceof WithCalculatedFormulas,
|
||||
$import instanceof WithFormatData
|
||||
);
|
||||
}
|
||||
|
||||
if ($import instanceof ToModel) {
|
||||
$model = $import->model($mapped);
|
||||
|
||||
if ($model) {
|
||||
$model->saveOrFail();
|
||||
}
|
||||
}
|
||||
|
||||
if ($import instanceof ToCollection) {
|
||||
$import->collection(new Collection($mapped));
|
||||
}
|
||||
|
||||
if ($import instanceof ToArray) {
|
||||
$import->array($mapped);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user