2016-06-20 4 views
0

Ich kodiere eine soziale Gemeinschaft. Ich möchte ein Benachrichtigungssystem hinzufügen. Ich kann einen Tisch machen wieBenachrichtigungssystem

id | from | to| msg | time | seen

Dies ist für Kommentare ist ein guter Weg/mag Benachrichtigungen, aber ich möchte, um Benutzer benachrichtigen, wenn die Gruppen Beiträge updated.So sind, wenn ich diese Tabelle verwenden, dann muss ich hinzufügen mehr als 100 oder 1000 Zeilen, wenn die Gruppe mehr als 100,1000 Mitglieder hat.

Meine aktuelle Lösung ist das Hinzufügen eines neuen Col Calls 'grops'. Wenn der Benutzer jedoch in mehr als 20 Gruppen ist, muss ich 20 Gruppen mit OR auswählen.

Beispiel:

id | from | to | group | message 
1  -1  -1  3  test1 
2  -1  -1  2  test2 
3  -1  -1  1  test3 
4  5  3  -1  test4 


SELECT * FROM `notifications` WHERE `to` = '3' OR `group` = '1' OR `group` = '2' OR `group` = '3' ... 

Gibt es eine andere Möglichkeit, dies zu tun, oder bin ich es richtig gemacht?

-Vielen :) Sie

+0

Siehe: http://stackoverflow.com/questions/28959448/select-from-table-where-column-1-2-3-4/28959466#28959466 – AkshayP

Antwort

1

Sie die Klausel in verwenden können. Sie müssen nicht 20 OR Anweisungen schreiben.

SELECT * FROM `notifications` WHERE `to` = '3' OR `group` in ('1','2','3',....,'20'); 
Verwandte Themen