问题描述
我正在尝试通过不同的通知方法->notify()
来吸引同一类型的不同用户。
例如:我有TicketCompleted
通知,它的via()
方法包含:return ['mail','database'];
。我还同时实现了方法toArray()
和toMail()
。所以我想做的是以下事情:
具有角色Client
的模型Accountant
仅应通过toArray()
方法通知;
具有角色Client
的模型Contact
仅应通过toEmail()
方法通知;
如何实现?
解决方法
您可以在via()
中返回不同的值:
public function via($notifiable)
{
if ($notifiable->role === 'Accountant') {
return ['database'];
} else if ($notifiable->role === 'Contact') {
return ['mail'];
}
// default for all other clients
return [];
}
如果对其他模型使用相同的通知,则还必须检查$notifiable
的类。