Laravel 5.3 - 防止通知的重复通知?
Laravel 5.3 - Prevent duplicate notifications for notifiable?
我有一个可通知的 User
,user 1
和 user 2
用于此示例。
如果 user 2
赞成 user 1
问题,user 1
会收到一封电子邮件和一条插入数据库的 toArray
通知,如下所示:
public function toArray($notifiable){
return [
'upvoter_username' => $this->event->upvoter->username,
'question_id' => $this->event->question->id,
'question_title' => $this->event->question->title,
];
}
我面临的问题是当 user 2
返回并 downvotes
相同的问题(没有问题),然后再次重新投票(问题在这里)。
简而言之,user 1
再次收到同一封电子邮件,通知再次插入数据库; user 1
应该只通知一次,第一次。
我如何确保通知 不会 通知应通知人 user 1
两次 [=] 14=]?
您必须将通知存储在单独的 table 中,其中包含两个字段:question_id、upvoter_id。如果 user 2
和 question_id 的行已经存在,请不要发送电子邮件,否则添加行并发送邮件。
我有一个可通知的 User
,user 1
和 user 2
用于此示例。
如果 user 2
赞成 user 1
问题,user 1
会收到一封电子邮件和一条插入数据库的 toArray
通知,如下所示:
public function toArray($notifiable){
return [
'upvoter_username' => $this->event->upvoter->username,
'question_id' => $this->event->question->id,
'question_title' => $this->event->question->title,
];
}
我面临的问题是当 user 2
返回并 downvotes
相同的问题(没有问题),然后再次重新投票(问题在这里)。
简而言之,user 1
再次收到同一封电子邮件,通知再次插入数据库; user 1
应该只通知一次,第一次。
我如何确保通知 不会 通知应通知人 user 1
两次 [=] 14=]?
您必须将通知存储在单独的 table 中,其中包含两个字段:question_id、upvoter_id。如果 user 2
和 question_id 的行已经存在,请不要发送电子邮件,否则添加行并发送邮件。