简体   繁体   中英

Setting subject variable in Laravel mailables

I have created a mailable 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');
    }
}

In the build function I am passing the $sub variable, which comes from the controller, but it gives me an error:

Undefined variable: sub

When I use this:

 return $this->subject('Some subject')->view('emails.sendemail');

It works fine.

PS I did some research and found that I need use function to pass the subject variable (some anonymous function magic) (Not sure how to do that with mailables)

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

return $this->subject($this->sub)->view('emails.sendemail');

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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