Laravel 5.3 - 防止通知的重复通知?

Laravel 5.3 - Prevent duplicate notifications for notifiable?

我有一个可通知的 Useruser 1user 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 的行已经存在,请不要发送电子邮件,否则添加行并发送邮件。