рдореЙрдбрд▓ рдХреЛ рд╕реАрдзреЗ рд╕рд╣реЗрдЬреЗ рдмрд┐рдирд╛ рдЖрдпрд╛рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдпрд╛рдд рд╕реЗ рдореЙрдбрд▓ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рднреА рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ 2.1.30 рд╕реЗ 3.0.0 рдпрд╛ рдЙрдЪреНрдЪрддрд░ рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдореБрдЭреЗ рдЙрдиреНрд╣реЗрдВ рдмрдЪрд╛рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдореЙрдбрд▓ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВ рдЗрд╕реЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рд╕рд╛рде рд╣реА, рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдкрд░реАрдХреНрд╖рдг рд╣реИ рдЬрд╣рд╛рдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рджреЛ рд╕рдВрдмрдВрдзрд┐рдд рдореЙрдбрд▓ (рд╡рд┐рднрд┐рдиреНрди рд╡рд░реНрдЧреЛрдВ рдХреЗ) рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рдкреНрд░рддрд┐ рдкрдВрдХреНрддрд┐ рдХреЗрд╡рд▓ рдПрдХ рдореЙрдбрд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣рд╛рдВ CSV рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкреБрдирд░реНрдЧрдарди рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред
рдЖрдИрдПрдордУ, 3.0.0+ рдЖрджрд░реНрд╢ рд╕реНрдерд┐рддрд┐ рдкрд░ рдмрд╣реБрдд рдХрд╕рдХрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИ рдЬрд╣рд╛рдВ рдПрдХ рд╕реАрдПрд╕рд╡реА рдлрд╝рд╛рдЗрд▓ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ, рдФрд░ рдПрдХ рдкрдВрдХреНрддрд┐ рдПрдХ рдореЙрдбрд▓ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдореЙрдбрд▓ рдХреЛ рддрддреНрдХрд╛рд▓ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред 2.X рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдирд╣реАрдВ рдерд╛, рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЗрд╕реЗ рдХреНрдпреЛрдВ рдмрджрд▓рд╛ рдЧрдпрд╛ред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдореИрдВ реи.рез.рейреж рдХреЛ рдирд╣реАрдВ рд░рд╣рдирд╛ рдЪрд╛рд╣рддрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкрд░рд┐рддреНрдпрдХреНрдд phpoffice/phpexcel
рдкреИрдХреЗрдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рдзрд┐ рдХреЛ Excel
рдореБрдЦреМрдЯрд╛ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдореЗрдВ import
рдХреЗ рд╕рдорд╛рди рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдореЙрдбрд▓ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг:
$users = Excel::load(new UsersImport, 'users.xlsx');
рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдЖрдпрд╛рдд рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рдПрдХ item
рд╡рд┐рдзрд┐ рдЬреЛрдбрд╝реА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдХреЗрд╡рд▓ рдореЙрдбрд▓ рдХреЗ рдмрдЬрд╛рдп рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рд╕рдХрддреА рд╣реИред
ToModel
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрдпрд╛рдд рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХрд╛ рд╕рд┐рд░реНрдл рдПрдХ рддрд░реАрдХрд╛ рд╣реИред рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ рдЬреЛ рдкреНрд░рддрд┐ рдкрдВрдХреНрддрд┐ 1 рдореЙрдбрд▓ рдХреЛ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдк рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг 2.1 рдХреЗ рд╕рдорд╛рди рд╣реИ, рддреЛ рдЖрдкрдХреЛ ToCollection
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: https://laravel-excel.maatwebsite.nl/3.1/imports/collection.html рдореЗрдВ рд╕рдВрдЧреНрд░рд╣ рд╡рд┐рдзрд┐ рдЖрдкрдХреЛ 2.1 рдореЗрдВ рдорд┐рд▓реА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рд╕рдорд╛рди рд╕рдВрдЧреНрд░рд╣ рдорд┐рд▓рддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ рдореЙрдбрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рди рдХрд┐ рдЖрдкрдХреА рдЖрдпрд╛рдд рд╡рд╕реНрддреБ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдиреБрд╢рдВрд╕рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдирд╣реАрдВ) рдореЗрдВ ::toCollection
рд╡рд┐рдзрд┐ рд╣реИ, рдЬреЛ рдЖрдкрдХреЗ рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рдХрдЪреНрдЪреА рдкрдВрдХреНрддрд┐ (рдореЙрдбрд▓ рдореЗрдВ рдХреЛрдИ рд░реВрдкрд╛рдВрддрд░рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) .
(https://laravel-excel.maatwebsite.nl/3.1/imports/basics.html#importing-to-array-or-collection)
$users = Excel::toCollection(new UsersImport, 'users.xlsx');
@patrickbrouwers рдЖрдкрдХреЗ рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рддреЛ рдЕрдЧрд░ рдореИрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, Excel::import
рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдпрд╛рдд рдкрд░ рдЬреЛ ToCollection
рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рд╕рд╣реЗрдЬреЗ рдмрд┐рдирд╛ рдореЙрдбрд▓ рдХрд╛ рд╕рдВрдЧреНрд░рд╣ рд╡рд╛рдкрд╕ рдХрд░ рджреЗрдЧрд╛? рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рдпрд╣ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ https://laravel-excel.maatwebsite.nl/3.1/imports/collection.html рдХреЗ рдиреАрдЪреЗ рдЙрджрд╛рд╣рд░рдг рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
public function import()
{
Excel::import(new UsersImport, 'users.xlsx');
}
рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп рдХрд╣реАрдВ рднреА рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдореЙрдбрд▓реЛрдВ рдХрд╛ рдЖрдпрд╛рддрд┐рдд рд╕рдВрдЧреНрд░рд╣ рд╕реАрдзреЗ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдпрд╛ рдХрдо рд╕реЗ рдХрдо рд╡рд┐рдзрд┐ рдХреЗ рджреБрд╖реНрдкреНрд░рднрд╛рд╡ рд╣реЛрддреЗ рд╣реИрдВ)ред рдЕрдиреНрдпрдерд╛ рдпрд╣ рдПрдХ рдЪрд░ рд╕рд╣реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдмрд┐рдирд╛ import
рдХреЙрд▓ рдХрд░рдирд╛ рдмреЗрдХрд╛рд░ рд╣реЛрдЧрд╛?
@WouterFlorijn рдирд╣реАрдВ, ::import()
рдХрднреА рднреА рдХреЛрдИ рдкрдВрдХреНрддрд┐ рдпрд╛ рдореЙрдбрд▓ рдирд╣реАрдВ рд▓реМрдЯрд╛рдПрдЧрд╛ред рдХреЗрд╡рд▓ Excel::toCollection()
рдХрд░рддрд╛ рд╣реИред
ToCollection
рдЪрд┐рдВрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ Excel::toCollection()
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдХреБрдЫ рдЕрд▓рдЧ рд╣реИред
ToCollection
рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп рд╕рдВрдкреВрд░реНрдг рдЖрдпрд╛рдд рдЖрдпрд╛рдд рд╡рд╕реНрддреБ рдХреЗ рднреАрддрд░ рд╕рдорд╛рд╣рд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред ToCollection
рдореЗрдВ рдХреБрдЫ рд▓реМрдЯрд╛рдирд╛ рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
@patrickbrouwers рдмрд╕ рд╡рд╛рдкрд╕ рдЖрдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдЕрднреА рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рдЧрд▓рдд рд╕рдордЭ рд░рд╣реЗ рд╣реИрдВред рдЬреЛ рдореИрдВ рдмрд╕ рдЦреЛрдЬ рд░рд╣рд╛ рд╣реВрдВ рд╡рд╣ рдПрдХ рдРрд╕реА рд╡рд┐рдзрд┐ рд╣реИ рдЬреЛ рдмрд┐рдирд╛ рд╕рд╣реЗрдЬреЗ рдореЙрдбрд▓ рдХрд╛ рд╕рдВрдЧреНрд░рд╣ рд▓реМрдЯрд╛рддреА рд╣реИред рдореИрдВ рдЕрдкрдиреЗ рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛, рдореИрдВ рдЗрд╕реЗ рдПрдХ рдЖрдпрд╛рдд рд╡рд░реНрдЧ рдореЗрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдЕрдм рддрдХ рдореБрдЭреЗ рдпрд╣ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред
рд╡рд┐рдЪрд╛рд░:
рд▓реЗрдирджреЗрди рдЖрдпрд╛рдд.php:
<?php
namespace App\Imports;
use App\Banks\Transaction;
use Carbon\Carbon;
use Maatwebsite\Excel\Concerns\ToModel;
use Maatwebsite\Excel\Concerns\WithHeadingRow;
class TransactionsImport implements ToModel, WithHeadingRow
{
public function model(array $row)
{
$transaction = new Transaction;
$transaction->amount = $row['amount'];
$transaction->currency = $row['currency'];
return $transaction;
}
}
рд▓реЗрдирджреЗрди рдирд┐рдпрдВрддреНрд░рдХ.php:
...
$transactions = Excel::someFunction(new TransactionsImport, 'path/to/file.csv');
// $transactions is a Collection of Transaction models that are not saved to the database yet.
...
рдореБрдЭреЗ toCollection
рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рджреЛ рд╕рдорд╕реНрдпрд╛рдПрдВ рднреА рдорд┐рд▓реАрдВ:
рдЬреЛ рдореИрдВ рдмрд╕ рдЦреЛрдЬ рд░рд╣рд╛ рд╣реВрдВ рд╡рд╣ рдПрдХ рдРрд╕реА рд╡рд┐рдзрд┐ рд╣реИ рдЬреЛ рдмрд┐рдирд╛ рд╕рд╣реЗрдЬреЗ рдореЙрдбрд▓ рдХрд╛ рд╕рдВрдЧреНрд░рд╣ рд▓реМрдЯрд╛рддреА рд╣реИред рдореИрдВ рдЕрдкрдиреЗ рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛, рдореИрдВ рдЗрд╕реЗ рдПрдХ рдЖрдпрд╛рдд рд╡рд░реНрдЧ рдореЗрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдЕрдм рддрдХ рдореБрдЭреЗ рдпрд╣ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред
рд╢рд╛рдпрдж рдпреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ рд╣реЛрдВ:
рдЕрдкрдиреЗ рджрдо рдкрд░ рд╣рда рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛
рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ
@WouterFlorijn рдЖрдк рдЕрдкрдиреА рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдПрдХ рд╕рд░рдгреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВ:
$array = Excel::toArray([], 'file.xlsx');
@WouterFlorijn рдЖрдк рдЕрдкрдиреА рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдПрдХ рд╕рд░рдгреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВ:
$array = Excel::toArray([], 'file.xlsx');
рдареАрдХ рд╡реИрд╕рд╛ рд╣реА рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рдерд╛ред
рдЗрд╕ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП +1ред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдореЙрдбрд▓() рдФрд░ рд╕рдВрдЧреНрд░рд╣() рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХреБрдЫ рднреА рд╕рд╣реЗрдЬрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕реЗ рдПрдХреНрд╕реЗрд▓/рд╕реАрдПрд╕рд╡реА рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рдореЙрдбрд▓/рдПрд░реЗ рдХреЗ рд╕рдВрдЧреНрд░рд╣ (рдпрд╛ рдРрд░реЗ) рдореЗрдВ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рджреГрдврд╝рддрд╛ рдХреЛ рдЕрд▓рдЧ рд╕реЗ рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореЗрд░рд╛ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛: рдореИрдВ рдПрдХ рд╕реАрдПрд╕рд╡реА рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рд╕реЗ рдиреНрдпреВрдирддрдо рдФрд░ рдЕрдзрд┐рдХрддрдо рддрд┐рдерд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдпрджрд┐ рдпрд╣ рдореМрдЬреВрджрд╛ рдЖрдпрд╛рддрд┐рдд рд╕реАрдПрд╕рд╡реА рдХреЗ рд╕рд╛рде рдУрд╡рд░рд▓реИрдк рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдпрд╣ рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдУрд╡рд░рд▓реИрдк рд╕рд╣реА рд╣реИ, рдЗрд╕реЗ рдХреБрдЫ рднреА рдЖрдпрд╛рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЖрд╣, рдореИрдВ рдПрдХ рдмрдВрдж рдореБрджреНрджреЗ рдХрд╛ рдЬрд╡рд╛рдм рджреЗ рд░рд╣рд╛ рд╣реВрдВред рдЖрдкрдиреЗ рдЗрд╕ @WouterFlorijn рдХреЛ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рд╛?
рдЖрдк рд░рд╛рдЬреНрдп рдХреЛ рдЖрдпрд╛рдд рд╡рд░реНрдЧ рдХреЗ рдЕрдВрджрд░ рд░рдЦрдХрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдк рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рдЕрдВрджрд░ toModels
рд╡рд┐рдзрд┐ рдХреЛ рд▓рдкреЗрдЯ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреЗ рд╕рднреА рдирд┐рд░реНрдпрд╛рддреЛрдВ рдореЗрдВ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
new UsersImport implements ToModel, WithHeadingRow
{
use Importable;
protected array $models;
public function model(array $row)
{
$this->models[] = new User($row);
}
public toModels(string $filename): array
{
$this->import($filename);
return $this->models;
}
}
$nonPersistedUsers = (new UsersImport)->toModels('users.xlsx');
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
@WouterFlorijn рдЖрдк рдЕрдкрдиреА рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдПрдХ рд╕рд░рдгреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВ:
$array = Excel::toArray([], 'file.xlsx');