Я использовал два руководства для создания кода, который уведомляет меня о регистрации нового пользователя. почтовые уведомления и redirect-login-register-add-method /
Это работает сейчас
Я просто отправляю уведомление на адрес электронной почты по умолчанию, определенный здесь в моей модели User
:
Это моя желанная цель
Я хочу отправить электронное письмо новому зарегистрированному пользователю в уведомлении по электронной почте. Кроме того, я хочу настроить получателя для этого конкретного HelloUser
уведомления.
public function routeNotificationForMail()
{
return '[email protected]';
}
Уведомление запускается кодом в моем RegisterController.php
:
protected function redirectTo()
{
$user = Auth::user();
$user->notify(new \App\Notifications\HelloUser());
return '/'; // redirects to main page
}
Вышеупомянутое решение работает, но после многих попыток я все еще не могу получить этот расширенный результат:
to do 1
У меня будет несколько уведомлений, которые я хочу отправить на 2-3 письма, а не только на одно.
Моя попытка
В моем файле уведомлений App\Notifications\\HelloUser.php
я попытался добавить лишнюю строку. (Обратите внимание, что строка теперь прокомментирована)
public function toMail($notifiable)
{
return (new MailMessage)
->line('The introduction to the notification.')
->action('Notification Action', url('/'))
->line('The new user email is ');
// ->to('[email protected]');
}
... но я потерпел неудачу. Я могу определить глобального получателя, как описано здесь, в документации
Мой вопрос # 1
Как я могу определить отдельного получателя для каждого Notification
?
TO DO 2
Я также попытался включить электронную почту недавно зарегистрированного пользователя в уведомление, отправленное по электронной почте. Для этого я попытался скопировать свое решение из Mailables
. Итак, в RegisterControler.php
я попытался передать переменную $ user в функцию:
protected function redirectTo()
{
$user = Auth::user();
$user->notify(new \App\Notifications\HelloUser($user));
return '/';
}
а затем в моем Notification
файле App\Notifications\HelloUser
я сделал следующее:
public $user;
public function __construct($user)
{
$email = $user->email;
}
в надежде, что эта часть произведет уведомление с электронной почтой нового пользователя:
public function toMail($notifiable)
{
return (new MailMessage)
->line('The introduction to the notification.')
->action('Notification Action', url('/'))
->line('The new user email is '.$user->email);
}
Результат: я просто получаю Undefined variable: user
.
TO DO
Как заставить этот код работать?
Спасибо за уделенное время.
============= Редактировать: по запросу @Arun_jai я помещаю здесь dd ($ notifiable). Кажется, что он сгенерирован правильно, и объект является всего лишь экземпляром модели User
. Соответствующая часть:
#attributes: array:6 [▼
"name" => "Peter attempt 16"
"email" => "[email protected]"
"password" => "$2t9WHLFY14XNf0$nj7TYDYAxiZ/kdfrUy$1vC2"
"updated_at" => "2018-01-18 07:08:12"
"created_at" => "2018-01-18 07:08:12"
"id" => 270
]
dd($notifiable)
. Имейте в виду, что сейчас я только пытаюсь настроить получателя дляHelloUser
Уведомления. - person Peter   schedule 18.01.2018