2016-11-27 113 views
0

本例中使用了具有通知的User,user 1user 2Laravel 5.3 - 防止重复通知通知?

如果user 2 upvotes 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 2通知呈报user 1两次同样给予好评?

回答

1

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