Php 使用队列时,如何在laravel邮件中传递变量?
我已经设置了我的系统,这样当用户成功注册时,就会收到一封写有他们姓名的邮件,而且效果很好。但我注意到页面显示成功消息的时间比我希望的要长一些,所以我决定使用laravel队列进行后台发送。不幸的是,成员详细信息添加成功,但没有发送邮件,页面错误显示 未定义的属性:App\Mail\Received::$name 基本上,下面的代码失败了Php 使用队列时,如何在laravel邮件中传递变量?,php,laravel-5.4,Php,Laravel 5.4,我已经设置了我的系统,这样当用户成功注册时,就会收到一封写有他们姓名的邮件,而且效果很好。但我注意到页面显示成功消息的时间比我希望的要长一些,所以我决定使用laravel队列进行后台发送。不幸的是,成员详细信息添加成功,但没有发送邮件,页面错误显示 未定义的属性:App\Mail\Received::$name 基本上,下面的代码失败了 $name = $newMember->firstname; Mail::to($newMember)->queue(new Received($
$name = $newMember->firstname;
Mail::to($newMember)->queue(new Received($name));
而这一个是完美的工作
$name = $newMember->firstname;
Mail::to($newMember)->send(new Received($name));
所以最大的问题是,为什么在我使用queue时,$name属性未定义,但在我使用send时定义了它?我通过在
App\Mail\Received
类中添加protected$name
属性解决了这个问题。你能发布App\Mail\Received
code@SevaKalashnikov我已经提供了答案在下面我将对其进行编辑以给出精确的解决方案