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

Laravel-如何从电子邮件模板中访问$notifiable,laravel,email,laravel-5,Laravel,Email,Laravel 5,Laravel 5.5应用程序:我决定自定义我的邮件模板,因此运行以下artisan命令: artisan publish:vendor --tag=laravel-mail artisan publish:vendor --tag=laravel-notifications 然后我决定编辑resources/views/vendor/mail/html/message.blade.php底部的版权信息,以便在下面添加一些链接,但为了生成这些链接,我需要访问$notifiable实体。唯一的问

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

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

public function toMail($notifiable)
{
    return (new MailMessage)
        ->subject('Verify Email')
        ->markdown('mail.email-verification-email', [
            'notifiable' => $notifiable
        ]);
}
我仍然无法从上面提到的文件中访问它。它会抛出一个错误,除非我检查变量是否已设置,而且从来没有设置过


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

试试这样的方法,它对我很有用

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

如果不想将其传递给视图,请使用helper,然后在视图中调用helper方法,对于未定义的问题,请在访问变量php artisan view:clear后尝试php artisan view:clear,php artisan view:clear不会更改任何内容。对于辅助对象,辅助对象不需要是某种全局对象吗?我不太确定该解决方案实际会是什么样子。您是否使用Queueable trait且队列工作程序正在运行?如果是,请重新启动它。我已经尝试重新启动队列工作程序了。我对blade的使用并不多,但我猜视图变量只能从电子邮件正文中访问,不能从页脚等处访问。