2017-10-21 6 views
1

Ich habe Social Netwrok Website mit Laravel. Mein Benachrichtigungssystem funktioniert gut, wenn die Benachrichtigung für einen bestimmten Benutzer festgelegt ist. Angenommen, ein Benutzer wurde zum Moderator und ich möchte alle Benutzer dieses Ereignisses benachrichtigen. Gibt es eine Möglichkeit, dies zu tun, ohne die gleiche Benachrichtigung allen Benutzern hinzuzufügen?Laravel - Eine Benachrichtigung für alle Benutzer

Eine Lösung, die mir in den Sinn kam, ist

I des Einstellens der Benachrichtigung denke an user_id, die anzeigt, dass es für alle Benutzer ist, und durch die Art und Weise, kann ich nicht will die Eigenschaft read_at in dieser Art von Benachrichtigungen, so dass keine Notwendigkeit für eine andere Tabelle mit einem FK, also, wenn dies die Lösung sein kann, so wie es einzufügen und sie entlang der Benutzer-Benachrichtigungen Beziehung

+0

Einige Code auf, wie Ihre aktuelle Benachrichtigungssystem funktioniert helfen könnte. Es kann nur eine Frage sein, wie man eine Benachrichtigung als Broadcast kennzeichnen kann und nicht als eine, die einen bestimmten Benutzer erreichen soll. – apokryfos

Antwort

0

Wenn Sie viele benachrichtigen möchten Benutzer können Sie über alle Benutzer iterieren undverwenden.

Wenn Sie nur eine Reihe von E-Mails gleichzeitig senden möchten, verwenden Sie one of the available packages, die Mail-Dienst-APIs direkt verwenden, um Teile von E-Mails zu senden, anstatt sie einzeln zu senden.

Wenn Sie ein Ereignis an alle aktuellen Benutzer senden möchten, die Ihre App verwenden, verwenden Sie hierfür die Funktion Laravel Broadcasting. Was Sie wollen, ist den öffentlichen Kanal zu verwenden.

Ereignisse werden über "Kanäle" gesendet, die als öffentlich oder privat angegeben werden können. Jeder Besucher Ihrer Anwendung kann einen öffentlichen Kanal ohne Authentifizierung oder Autorisierung abonnieren.

https://laravel.com/docs/5.5/broadcasting#concept-overview

+0

Ich möchte keine E-Mail-Benachrichtigung dafür, es ist eine Datenbankbenachrichtigung, die die Situation vereinfacht, denke ich –

+0

@ModySharf was genau meinst du mit Datenbankbenachrichtigung? –

+0

Ich meine, es wird nicht per E-Mail gesendet werden, nur in der DB –

Verwandte Themen