Laravel | Передача переменной в Notify

Я хочу отправить письмо в Notify, оно работает, но когда я пытаюсь поместить переменные, возвращается, что они не определены. Я не понимаю, как передать переменную в уведомление, я пытался сделать ->withResult($result) но это не сработало.
Вот контроллер:

    $result = Review::where('user_hash', '=', $data['lname_c'])->where('email', $data['email_c'])->orderBy('created_at', 'desc')->first();
$result->notify(new SendReview());

И мои уведомления SendReview.php:

public function toMail($notifiable)
{

return $result['invitation_id']; // test to check if variable is passed
return (new MailMessage)
->line('Test.')
->action('Nani', url($url))
->line('Thank you');
}

В моей таблице просмотра есть user_hash и приглашение_ид, я хочу передать их уведомлению. Когда я делаю return $result['invitation_id']; оно работает. Надеюсь, что мне понятно, я проверил дубликаты вопросов и не смог их найти.

4

Решение

Вот как они это делают в документах.

$arr = [ 'foo' => "bar" ];
$result->notify(new SendReview($arr));

И в твоем SendReview.php

...

protected $arr;

public function __construct(array $arr) {
$this->arr = $arr;
}

public function toMail($notifiable) {
// Access your array in here
dd($this->arr);
}
4

Другие решения

Вы должны использовать $notifiable переменная в вашем Notification учебный класс.

Это экземпляр класса, в который отправляется уведомление. Итак, ваш объект обзора передается как $notifiable переменная.

Вы можете попробовать войти как logger($notifiable) в toMail() метод и проверить его свойства.

1

По вопросам рекламы [email protected]