2017-09-28 67 views
-1

我已经设置了我的系统,以便用户在成功注册时可以获得带有他们名字的邮件,并且工作得很好。但我注意到,它需要比我想要的页面显示一条成功消息更长的时间,所以我决定使用laravel队列进行后台发送。不幸的是成员详细添加成功,但没有发送邮件和网页错误说使用队列时,变量如何在laravel邮件中传递?

未定义的属性:应用程序\邮件\收到:: $名

基本上下面的代码失败

$name = $newMember->firstname; 

Mail::to($newMember)->queue(new Received($name)); 

虽然这个人是可以正常使用

$name = $newMember->firstname; 

Mail::to($newMember)->send(new Received($name)); 

所以,最大的问题是为什么$ name属性未定义,当我使用队列,但它的定义,当我使用发送?

+0

你可以发布'App \ Mail \ Received'代码 –

+0

@SevaKalashnikov我已经在下面提供了答案。我将编辑它以提供精确的解决方案 – Mena

回答

0

我通过在App\Mail\Received类中添加protected $name属性来修复问题。

+0

@Pang感谢您的编辑。这样做更有意义 – Mena

相关问题