我试图在Laravel 4中使用Mail类,但无法将变量传递给$ 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对象不可用。我想这与范围有关。
有任何想法吗 ?
如果$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');
});
注意:使用的函数是PHP Closure(匿名函数),它不是Laravel独有的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句