Laravel can do that?
Laravel Tutorials / updated: August 08, 2016

Laravel can do that?

Matt Stauffer has a new post outlining four things he didn’t know Laravel could do, but learned about them while writing his new book, Laravel: up and running.

The four items he outlines is:

  • The Cookie Façade is one special cookie
  • Attaching files to emails is easier than you think
  • You can chain more Scheduler methods than the docs show
  • You can assert that a view gets passed certain data

While I was reading through this I started thinking about the email attachments and how ->attach expects a real file. It seems like you should be able to pass it raw data and still attach files easily.

Just as you might imagine Laravel does support this through ->attachData. Here is an example:

Mail::send('emails.whitepaper', [], function ($m) use($pdf) {
    $m->to('barasa@wangusi.ke');
    $m->subject('Your whitepaper download');
    $m->attachData($pdf->generate($data), 'filename.pdf');
});

As long as $pdf->generate($data) in my sample returns the raw bytes, it’ll be attached without having to first save it to the filesystem. For more on this see the documentation.

Laravel News Partners

Newsletter

Join the weekly newsletter and never miss out on new tips, tutorials, and more.