在Laravel mailables中设置主题变量

Sau*_*abh 3 php laravel laravel-5

我创造了一个可邮寄的 php artisan make:mail SendInEmail

class SendInEmail extends Mailable
{
    use Queueable, SerializesModels;

    public $email;
    public $sub;
    public $emailcontent;

    /**
     * Create a new message instance.
     *
     * @return void
     */

    public function __construct($email, $sub, $emailcontent)
    {
        $this->email = $email;
        $this->sub = $sub;
        $this->emailcontent = $emailcontent;
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
         return $this->subject($sub)->view('emails.sendemail');
    }
}
Run Code Online (Sandbox Code Playgroud)

在构建函数中,我传递的$sub变量来自控制器,但它给了我一个错误:

Undefined variable: sub

我用这个时:

 return $this->subject('Some subject')->view('emails.sendemail');
Run Code Online (Sandbox Code Playgroud)

它工作正常.

PS我做了一些研究,发现我需要use函数传递主题变量(一些匿名函数魔法)(不知道如何用mailables做)

Ale*_*nin 5

您正在使用错误的变量,因此将其更改为$this->sub:

return $this->subject($this->sub)->view('emails.sendemail');
Run Code Online (Sandbox Code Playgroud)