![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 14 Dołączył: 8.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
Muszę zrobić na stronie system powiadomień. Taki Ala facebook. Wchodzisz na stronę i widzisz ile eventow cię dotyczyło.
Zastanawiam się jak to ugryźć. mam dwie koncepcje. Jedna to zrobić to na zasadzie prywatnych wiadomości. Kazda osoba której dotyczy to powiadomienie dostaje jego kopie. Zapisują się w tabeli annoucements i po kluczu obcym jest odczytywane komu się powinno wyświetlić. Druga opcja to żeby tabele annoucements i users połączyć relacja n:m. Wtedy powiadomienia by się nie dublowały. Pozostaje problem wysłania powiadomień do całej grupy bo znowu jest duplikacja. mozna próbować dodawać dodatkowe pole do tabeli wiążącej oznaczające strategie np 1 oznacza powiadomienie wysyłane do grupy o id z pola obok, 2 do konkretnego uzytkownika, 3 do adminow 4 do wszystkich itd. Samo powiadomienie miałoby swoje id, datę i pole ze stringiem zawierające zserializowane parametry (kazda może mieć inne) ladowalbym je jakas fabryka i każda miałaby swój sposób renderowania. Dobry pomysł? -------------------- "The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time."
Tom Cargill, Bell Labs |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 376 Pomógł: 47 Dołączył: 23.08.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem, czy dobrze rozumuję, ale wydaje mi się, że coś w ten deseń:
tabele 1) annoucement - id - title - description 2) user - id - name - group_id 3) group - id - description 4) annoucement_to_user - id - annoucement_id - user_id 5) annoucement_to_group - id - annoucement_id - group_id Wtedy po zalogowaniu się, w pierwszej kolejności ładowane są dane z tabeli annoucement_to_user (oczywiście JOIN z 2-ma pozostałymi itd.), następnie sprawdzenie, do jakich grup należy użytkownik i wyświetlenie danych z annoucement_to_group... wydaje mi się, że da się złączyć to ładnie w jedną całość (LEFT JOIN i RIGHT JOIN), ale teraz idę spać ![]() ![]() Ten post edytował Kostek.88 6.04.2012, 01:06:27 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 12:53 |