Передача данных в закрытие в Laravel 4


Я пытаюсь использовать класс Mail в Laravel 4, и я не могу передавать переменные объекту $m.

Объект $team содержит данные, которые я взял из базы данных с помощью красноречивого.

Mail::send('emails.report', $data, function($m)
{
   $m->to($team->senior->email, $team->senior->first_name . ' '. $team->senior->last_name );
   $m->cc($team->junior->email, $team->junior->first_name . ' '. $team->junior->last_name );
   $m->subject('Monthly Report');
   $m->from('[email protected]', 'Sender');
});

По какой-то причине я получаю сообщение об ошибке, когда объект $team недоступен. Я полагаю, это как-то связано с масштабом.

Есть идеи?

Author: Laurence, 2013-01-23

1 answers

Если вы создали экземпляр переменной $team вне функции, то она не входит в область функций. Я думаю, вам нужно использовать ключевое слово use.

$team = Team::find($id);
Mail::send('emails.report', $data, function($m) use ($team)
{
   $m->to($team->senior->email, $team->senior->first_name . ' '. $team->senior->last_name );
   $m->cc($team->junior->email, $team->junior->first_name . ' '. $team->junior->last_name );
   $m->subject('Monthly Report');
   $m->from('[email protected]', 'Sender');
});
 209
Author: Blessing, 2015-09-11 04:26:34