Laravel can do that?
Published on by Eric L. Barnes
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.
Eric is the creator of Laravel News and has been covering Laravel since 2012.