рдирдорд╕реНрддреЗ,
рд╕рдВрд╕реНрдХрд░рдг 3.1 рдХреЗ рд╕рд╛рде рдЙрддреНрдкрдиреНрди рдПрдХреНрд╕реЗрд▓ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХреИрд╕реЗ рд╕рдВрд▓рдЧреНрди рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ?
рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг (v.2) рдореЗрдВ "->рдбрд╛рдЙрдирд▓реЛрдб ()" рдХреЗ рдмрд┐рдирд╛ рдирд┐рд░реНрдорд╛рдг рд╡рд┐рдзрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдпрд╣ рд╕рдВрднрд╡ рдерд╛
рдореИрдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ:
$filename = 'text.xlsx';
$attachment = Excel::download(new TestExport(), $filename);
\Mail::to('[email protected]')->send(new SendMail($attachment));
# Inside SendMail.php
public function __construct($attachment)
{
$this->attachment = $attachment;
}
public function build()
{
$mail = $this->from('[email protected]')
->subject('test attachment')
->markdown('emails.test_mail')
->attach($this->attachment);
return $mail;
}
рдореЗрд░реЗ рдкрд╛рд╕ рдареАрдХ рд╡рд╣реА рд╕рд╡рд╛рд▓ рд╣реИред
рдореБрдЭреЗ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрджрд░ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╕реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдирд┐рд░реНрдпрд╛рдд() рд╡рд┐рдзрд┐ рдореЗрдВ рдПрдХ рд╕рдорд╛рдзрд╛рди рдмрджрд▓ рд░рд╣рд╛ рд╣реИ:
maatрд╡реЗрдмрд╕рд╛рдЗрдЯ\рдПрдХреНрд╕реЗрд▓\src\Excel.php
рдкрдВрдХреНрддрд┐ рдореЗрдВ: резремрем
рдЗрд╕ рддрд░рд╣, рдХреЛрдб рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
````
$ рдЕрдиреБрд▓рдЧреНрдирдХ = рдПрдХреНрд╕реЗрд▓ :: рдирд┐рд░реНрдпрд╛рдд (рдирдпрд╛ рдЯреЗрд╕реНрдЯрдПрдХреНрд╕рдкреЛрд░реНрдЯ (), $ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо);
[...]
$ рдореЗрд▓ = $ рдпрд╣-> рд╕реЗ ('@example.com' рд╕реЗ)
-> рд╡рд┐рд╖рдп ('рдЯреЗрд╕реНрдЯ рдЕрдЯреИрдЪрдореЗрдВрдЯ')
-> рдорд╛рд░реНрдХрдбрд╛рдЙрди ('рдИрдореЗрд▓реНрд╕.рдЯреЗрд╕реНрдЯ_рдореЗрд▓')
-> рдЕрдЯреИрдЪ ($ рдпрд╣-> рдЕрдЯреИрдЪрдореЗрдВрдЯ, ['as' => $filename]);
````
рдореБрдЭреЗ рдПрдХреНрд╕реЗрд▓ рдХреНрд▓рд╛рд╕ рдФрд░ рдЗрд╕рдХреА рд╕рдВрд░рдХреНрд╖рд┐рдд рд╡рд┐рдзрд┐ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛ рд╣реИред рдЖрдк getFile()
рд╕реЗ Excel::download(/**/)
рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреЛрдб рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:
public function build()
{
return $this->markdown('emails.report')
->attach(
Excel::download(
new AuditReport($this->audit),
'report.xlsx'
)->getFile(), ['as' => 'report.xlsx']
);
}
Excel::download()
рдПрдХ BinaryFileResponse
Excel::download()
рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕реАрдзреЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ
рдореБрдЭреЗ рдПрдХреНрд╕реЗрд▓ рдХреНрд▓рд╛рд╕ рдФрд░ рдЗрд╕рдХреА рд╕рдВрд░рдХреНрд╖рд┐рдд рд╡рд┐рдзрд┐ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛ рд╣реИред рдЖрдк
getFile()
рд╕реЗExcel::download(/**/)
рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреЛрдб рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:public function build() { return $this->markdown('emails.report') ->attach( Excel::download( new AuditReport($this->audit), 'report.xlsx' )->getFile(), ['as' => 'report.xlsx'] ); }
Excel::download()
рдПрдХBinaryFileResponse
Excel::download()
рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕реАрдзреЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВредрдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рд╕рд╣рд╛рдпрддрд╛ рдорд┐рд▓реЗрдЧреА
рд╕рд░реНрд╡рд░ рдХреЗ tmp dir рдХреЗ рд▓рд┐рдП рджреЗрдЦреЗрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдлрд╝рд╛рдЗрд▓ рдбрд┐рд╕реНрдХ рдкрд░ рд▓рд┐рдЦреА рдЬрд╛рддреА рд╣реИред
рдирд┐рд░реНрдпрд╛рдд рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рддрд░реАрдХрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдПрдХ рджреВрд╕рд░реЗ рдХреА рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рджреЛрд╕реНрддреЛрдВ! рдореИрдВ
рдлрд╝рд╛рдЗрд▓ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб/рдмрдирд╛рдП рдмрд┐рдирд╛ рдореИрдВ рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд░рддрд╛ рд╣реВрдВ:
use Maatwebsite\Excel\Excel as BaseExcel;
use Maatwebsite\Excel\Facades\Excel;
...
$filename = "{$this->po->po_memo}.xlsx";
$attachment = Excel::raw(new PurchaseOrderLinesExport($this->po), BaseExcel::XLSX);
$subject = "Purchase Order Invoice"
return $this->from($this->po->employee->email)
->subject($subject)
->view('emails.pom.send')
->text('emails.pom.send')
->attachData($attachment, $filename);
рдореБрдЭреЗ рдПрдХреНрд╕реЗрд▓ рдХреНрд▓рд╛рд╕ рдФрд░ рдЗрд╕рдХреА рд╕рдВрд░рдХреНрд╖рд┐рдд рд╡рд┐рдзрд┐ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛ рд╣реИред рдЖрдк
getFile()
рд╕реЗExcel::download(/**/)
рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреЛрдб рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:public function build() { return $this->markdown('emails.report') ->attach( Excel::download( new AuditReport($this->audit), 'report.xlsx' )->getFile(), ['as' => 'report.xlsx'] ); }
Excel::download()
рдПрдХBinaryFileResponse
Excel::download()
рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕реАрдзреЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВредрдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕реНрдорд╛рдЗрд▓реА рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ
рдЗрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЗрд╕рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ред
use Maatwebsite\Excel\Excel as BaseExcel; use Maatwebsite\Excel\Facades\Excel; ... $filename = "{$this->po->po_memo}.xlsx"; $attachment = Excel::raw(new PurchaseOrderLinesExport($this->po), BaseExcel::XLSX);
рдмрд╣реБрдд - рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рд╣реИ
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореБрдЭреЗ рдПрдХреНрд╕реЗрд▓ рдХреНрд▓рд╛рд╕ рдФрд░ рдЗрд╕рдХреА рд╕рдВрд░рдХреНрд╖рд┐рдд рд╡рд┐рдзрд┐ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛ рд╣реИред рдЖрдк
getFile()
рд╕реЗExcel::download(/**/)
рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреЛрдб рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:Excel::download()
рдПрдХBinaryFileResponse
Excel::download()
рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕реАрдзреЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВредрдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ