I want to send a mail to Notify, it works but when I try to put the variables, It returns that they are undefined. I don't understand how to pass a variable to Notify, I tried to do ->withResult($result)
but it didn't work out.
Here is the controller:
$result = Review::where('user_hash', '=', $data['lname_c'])->where('email', $data['email_c'])->orderBy('created_at', 'desc')->first();
$result->notify(new SendReview());
And my SendReview.php notifications:
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');
}
There is user_hash and invitation_id in my Review table, I want to pass them to the notify. When I do return $result['invitation_id'];
it works. Hope I am understandable, I checked for duplicate questions and couldn't find one.
This is how they do it in docs.
$arr = [ 'foo' => "bar" ];
$result->notify(new SendReview($arr));
And in your SendReview.php
...
protected $arr;
public function __construct(array $arr) {
$this->arr = $arr;
}
public function toMail($notifiable) {
// Access your array in here
dd($this->arr);
}