我想发送一封邮件通知,它的工作原理,但当我尝试把变量,它返回,他们是未定义的.我不明白如何传递一个变量通知,我试图做->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');
}
在我的Review表中有user_hash和invitation_id,我想将它们传递给notify。当我执行return $result['invitation_id'];
时,它可以工作。希望我可以理解,我检查了重复的问题,但找不到。
4条答案
按热度按时间pbpqsu0x1#
这就是他们在文档中的做法。
在你的
SendReview.php
vhipe2zx2#
必须在
Notification
类中使用$notifiable
变量。它是通知要发送到的类的示例。所以这里您的review对象作为
$notifiable
变量传递。您可以尝试在
toMail()
方法中将其记录为logger($notifiable)
并检查其属性。8xiog9wr3#
对于有兴趣传递对象(例如
$msg_recipient
)并从控制器向特定用户发送电子邮件的人。控制器:
记得加
use Illuminate\Support\Facades\Notification;
在您的通知中__construct
toMail函数
szqfcxe24#
唯一的办法似乎是: