Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Laravel 5: passing variable into subject

Tags:

email

laravel

I am using Laravel's mail class and would like to pass variable into subject. Here is my code:

public function send()
{
    $offer = Offer::find($id)->toArray();

    Mail::send('offerMail', $offer, function($message) {
        $message->to('[email protected]');
        $message->subject('Offer No.' . $offer['code']);
    });
}

I am getting

Undefined variable: offer

within line where subject is defined.

like image 395
be-codified Avatar asked Nov 22 '25 10:11

be-codified


1 Answers

Don't forget to inject your outer variables into Closure's scope.

Mail::send('offerMail', $offer, function($message) use ($offer) {
    $message->to('[email protected]');
    $message->subject('Offer No.' . $offer['code']);
});

You can see examples about this under Example 3 section in here.

like image 63
Hkan Avatar answered Nov 25 '25 11:11

Hkan



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!