Как я могу отправить данные в markdown laravel?

#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]);