繁体   English   中英

Laravel 5.6-无法将变量传递到电子邮件视图

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM