Laravel Mailable Trait - 将变量传递到视图中

时间:2017-07-24 14:23:08

标签: php laravel

我已经设置了PaymentLink电子邮件 - 这将因用户输入而有所不同。

我认为,它已经进入了Mailable Trait,但在email.blade视图中,它未定义。

我的Mailable特质如下:

类PaymentLink扩展了Mailable {     使用Queueable,SerializesModels;

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

protected $link;

public function __construct($link)
{
    $this->link = $link;
}

/**
 * Build the message.
 *
 * @return $this
 */
public function build()
{
    return $this->view('emails.payment_link')>with(['link' => $this->link]);
}

}

然后在刀片视图中,我有以下内容:

<a href="{{ $link }}" target="_blank"><img src="{{asset('/assets/img/emails/button-payment.png')}}" alt="Make Payment" /></a>

但是这会返回错误:**

  

未定义的变量:链接

**

这是正确的方法吗?

由于

2 个答案:

答案 0 :(得分:3)

您可以更新:

public function build()
{
    return $this->view('emails.payment_link')->with(['link' => $this->link]);
}

答案 1 :(得分:1)

  

返回$ this-&gt; view('emailils.payment_link')&gt; with(['link'=&gt; $ this-&gt; link]);

您在-之前错过with

return $this->view('emails.payment_link')->with(['link' => $this->link]);
                                         ^