Laravel can do that?


June 3rd, 2016


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:

1Mail::send('emails.whitepaper', [], function ($m) use($pdf) {
2 $m->to('');
3 $m->subject('Your whitepaper download');
4 $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.

Filed in:

Eric L. Barnes

Eric is the creator of Laravel News and has been covering Laravel since 2012.