#php #laravel #laravel-8
#php #laravel #laravel-8
Вопрос:
Я использую уведомление laravel для отправки электронной почты с подтверждением пользователям.
Это моя toMail
функция в VerifyEmailNotification
:
public function toMail($notifiable)
{
$verificationUrl = $this->verificationUrl($notifiable);
if (static::$toMailCallback) {
return call_user_func(static::$toMailCallback, $notifiable, $verificationUrl);
}
return (new MailMessage)
->subject('Verification Email')
->markdown('emails.verify-email', ['url' => $verificationUrl]);
}
И это мое представление markdown :
@component('mail::message')
<p>Verification link : </p>
@component('mail::button',['url' => $verificationUrl])
Verify
@endcomponent
<p>{{ env('APP_NAME') }}</p>
@endcomponent
Как вы можете видеть, я перехожу $verificationUrl
к просмотру Markdown, но когда я нажимаю на ссылку отправки проверки, я получаю эту ошибку :
Undefined variable: verificationUrl (View: D:Webprojectspiresourcesviewsemailsverify-
email.blade.php)
Почему у меня эта ошибка и что я могу сделать?
Комментарии:
1. Вы вызвали свою переменную
url
, а неverificationUrl
здесь :->markdown('emails.verify-email', ['url' => $verificationUrl])
. Поэтому вы должны использовать$url
в представлении.2. да, спасибо :))
Ответ №1:
Здесь вы передали переменную $verificationUrl в markdown и назвали ее url, поэтому вы должны получить к ней доступ, вызвав $url, а не $verificationUrl
markdown('emails.verify-email', ['url' => $verificationUrl]);