Laravel 5.1/5.6:如何在邮件Blade模板中传递URL
解决Laravel Mail::send无法传递$myurl到Blade模板的问题
嘿,这个问题很常见,我来帮你搞定!你现在的代码里只把$myemail传递给了Blade模板,但漏掉了$myurl,只需要两个小修改就能解决:
核心问题分析
你当前的代码中,Mail::send的第二个参数(用于传递给模板的变量数组)只包含了$myemail,并没有把$myurl加进去,这就是模板无法获取到该变量的原因。
修正后的完整代码
$myemail = "some email address"; $myurl = "some url that will be emailed"; Mail::send('emails.mybladetemplate', ['myemail' => $myemail, 'myurl' => $myurl], function ($message) use ($myemail){ $message->subject('Your favorite links'); $message->from('someone@company.com', 'Company'); $message->to($myemail); });
在Blade模板中使用$myurl
现在你可以在emails/mybladetemplate.blade.php里直接调用这个变量了,比如:
<p>Hi there! Here's your personalized link: <a href="{{ $myurl }}" target="_blank">{{ $myurl }}</a></p>
小提示:如果后续需要在闭包函数里用到$myurl(比如自定义邮件内容时),记得在use()里补充这个变量,像这样:function ($message) use ($myemail, $myurl)。
内容的提问来源于stack exchange,提问作者user9465677
相关产品推荐
相关产品推荐

