[英]Laravel 5.6 - Can't pass variable to email view
我已经在Laravel 5.6应用程序中设置了邮件程序,但是正在努力将变量传递给视图,我的welcome.php控制器看起来像这样。
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
class Welcome extends Mailable
{
use Queueable, SerializesModels;
public $user;
public function __construct()
{
$this->user = $user;
}
public function build()
{
return $this->view('emails.welcome');
}
}
我的任何看法都是这样。
Your registered email-id is {{$user->email}}
这样创建用户后,我正在呼叫电子邮件控制器。
$user->save();
Mail::to($user->email)->send(new Welcome($user));
我收到一条错误消息,告诉我未定义的变量:user
我要去哪里错了?
您的构造函数不接受任何变量...
public function __construct()
{
$this->user = $user;
}
更改为:
public function __construct($user)
{
$this->user = $user;
}
或者您可以像这样键入提示:
use App\User;
...
public function __construct(User $user)
{
$this->user = $user;
}
编辑旅游邮件文件
public function __construct($user)
{
$this->user = $user;
}
public function build()
{
return $this->view('emails.welcome')->with(['user' => $this->user]);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.