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

90

Я пытаюсь использовать Mail Class в 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 недоступен. Я полагаю, что это имеет какое-то отношение к сфере действия.

Любые идеи?

  • 0
    Точно такой же сценарий для меня. Проблема Mail :: send привела меня к поиску передачи переменных в замыкания, а затем снова к этому. Возможно, что-то должно быть добавлено в документацию по почте laravel?
Теги:
laravel-4

1 ответ

192
Лучший ответ

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

$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');
});
  • 2
    Спасибо, я не понимал, что вы можете использовать «использовать», как это. Я только хотел бы узнать это раньше.
  • 2
    Также работал, чтобы решить мою проблему с Maill :: queue в Laravel 5
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню