2016-11-27 112 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的行已經存在,則不發送電子郵件,否則添加行併發送郵件。