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

时间:2016-11-27 05:53:48

标签: laravel laravel-5.3

我在此示例中使用了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确保通知 两次通知可通知的user 2相同的upvote?

1 个答案:

答案 0 :(得分:1)

您必须将通知存储在单独的表中,其中包含两个字段:question_id,upvoter_id。如果user 2和question_id已经存在一行,请不要发送电子邮件,否则添加行并发送邮件。