【发布时间】:2019-07-25 00:54:04
【问题描述】:
我的控制器中有这个方法
public function update(UserUpdateRequest $request)
{
$request->user()->update([
'name' => $request->username,
]);
Mail::to($request->user())->send(
new UserUpdated( $request->user() )
);
return redirect()->route('account.index');
}
所以当用户更新用户名时会发送一封电子邮件
public $user;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct(User $user)
{
$this->user = $user;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->markdown('emails.user.updated');
}
这是电子邮件模板
Hi {{ $user->username }},
We would like to inform you that your username has been updated successfully.
If this action wasn't done by you, you need to contact with our support.
但这会在队列中抛出异常
ErrorException:未定义变量:/storage/framework/views/ 中的用户
任何想法我做错了什么?
【问题讨论】:
-
不能这样声明:$this->property = $something;
-
但它与文档laravel.com/docs/5.8/mail#view-data中的几乎相同
-
你能通过
with方法试试吗? -
已经尝试过了,但没有运气。我在构造函数中 dd($user) 和 dd($this->user) 并传递了用户数据,但是它们在模板中不可用,这很奇怪
标签: laravel email laravel-5 markdown