使用队列时如何在 laravel 邮件中传递变量?
How are variables passed in laravel mails when using queue?
我已经设置了我的系统,以便用户在成功注册后会收到一封包含他们姓名的邮件,并且运行良好。但我注意到页面显示成功消息所需的时间比我想要的要长一些,所以我决定使用 laravel 队列进行后台发送。不幸的是,会员详细信息已成功添加,但没有发送邮件,页面错误显示
Undefined property: App\Mail\Received::$name
基本上下面的代码是失败的
$name = $newMember->firstname;
Mail::to($newMember)->queue(new Received($name));
虽然这个工作完美
$name = $newMember->firstname;
Mail::to($newMember)->send(new Received($name));
所以最大的问题是为什么 $name 属性 在我使用队列时未定义,但在我使用发送时却定义了?
我通过在 App\Mail\Received
class 中添加 protected $name
属性 解决了这个问题。
我已经设置了我的系统,以便用户在成功注册后会收到一封包含他们姓名的邮件,并且运行良好。但我注意到页面显示成功消息所需的时间比我想要的要长一些,所以我决定使用 laravel 队列进行后台发送。不幸的是,会员详细信息已成功添加,但没有发送邮件,页面错误显示
Undefined property: App\Mail\Received::$name
基本上下面的代码是失败的
$name = $newMember->firstname;
Mail::to($newMember)->queue(new Received($name));
虽然这个工作完美
$name = $newMember->firstname;
Mail::to($newMember)->send(new Received($name));
所以最大的问题是为什么 $name 属性 在我使用队列时未定义,但在我使用发送时却定义了?
我通过在 App\Mail\Received
class 中添加 protected $name
属性 解决了这个问题。