在我的视图模板中访问$notifiable
的正确方法是什么?
我知道$notifiable
是用户,但是当我有以下内容时
public $abc;
public function __construct($abc)
{
$this->abc = $abc;
}
public function toMail($notifiable)
{
$mailMessage = (new MailMessage)
->from('xyz@xyz.com', 'xyz company')
->subject('xyz')
->markdown('emails.news-alert');
return $mailMessage;
}
在我的刀片模板内:
Hello {{ $notifiable->first_name }}
{{ $abc }}
以上内容引发错误,因为它无法识别$notifiable
但是,如果我按以下方式进行传递,那么它将起作用:
$mailMessage = (new MailMessage)
->from('xyz@xyz.com', 'xyz company')
->subject('xyz')
->markdown('emails.news-alert', ['notifiable' => $notifiable);
$notifiable
不是公共财产-我认为视图默认情况下可以使用它,而无需通过它?
答案 0 :(得分:0)
是的,您需要发送变量以在视图中使用
$mail->markdown(
'emails.news-alert', [
'notificable' => $notificable,
'abc' => $this->abc
]
);
有时候,您可以使用compact()帮助器,但前提是您已经命名了变量(不是$ this->)
$abc = $this->abc;
$mail->markdown('emails.news-alert', compact(['notificable','abc']));
请尝试一下,让我知道它如何工作:)