Laravel-如何从电子邮件模板中访问$ notifiable

时间:2018-07-19 17:25:39

标签: laravel email laravel-5

Laravel 5.5应用程序:我决定自定义我的邮件模板,因此我运行了以下工匠命令:

artisan publish:vendor --tag=laravel-mail
artisan publish:vendor --tag=laravel-notifications

然后,我决定在resources/views/vendor/mail/html/message.blade.php底部编辑版权信息,以便可以在其下方添加一些链接,但是为了生成这些链接,我需要访问$notifiable实体。唯一的问题是,我找不到从模板中访问它的任何方法。我不希望每次发送电子邮件时都必须通过$notifiable到视图。但是,即使我从通知的$notifiable方法将toMail()传递到视图,也是如此:

public function toMail($notifiable)
{
    return (new MailMessage)
        ->subject('Verify Email')
        ->markdown('mail.email-verification-email', [
            'notifiable' => $notifiable
        ]);
}

我仍然无法从上述文件中访问它。除非我检查是否设置了变量,否则它将引发错误。

我在堆栈溢出中偶然发现了this answer,但是我不明白答案是如何解决问题的。我认为答案正在解决一个稍有不同的问题。

1 个答案:

答案 0 :(得分:0)

尝试类似的方法,对我有用

public function toMail($notifiable)
{
    return (new MailMessage)
        ->subject('Verify Email')
        ->view(
        'mail.email-verification-email', ['notifiable' => $notifiable]
    );
}
相关问题