Wpis z mikrobloga

Mirki, mam bardziej teoretyczny problem z Symfony2.
Otóż... chcę umieścić w widoku, ile nowych wiadomości w różnych skrzynkach czeka na użytkownika. Nie wiem w jaki sposób to najlepiej zrobić. Dodać nowe pole w encji z wiadomością "unread", i później w kontrolerze je uzupełnić licząc zapytaniem, ile ich jest? Wtedy będę miał do tego najłatwiejszy dostęp w widoku, ale brzmi to trochę januszowo. Niby banalny problem, no ale jednak chcę to zrobić jak najpoprawniej.

#programowanie #php #symfony2
  • 5
@Spake: unread w encji wiadomości według mnie jak najbardziej ma sens. Dodatkowo w przyszłości możesz dzięki temu zrobić oznaczenie, które wiadomości odczytano a których nie (tak jak na messengerze).

W przypadku gdy w 1 konwersacji może brać udział więcej niż 2 użytkowników, możesz zrobić tabelę conversationsread z polami conversationid, userid, lastmessage i w lastmessage zapisywać ID ostatniej odczytanej wiadomości przez danego usera w danej konwersacji... jednakże
@Klopsztanga: @Domons: kurde, chciałem ułatwić zrozumienie mnie, a wyszło na odwrót. Nie o to mi chodziło niestety.
Chodzi mi bardziej o coś takiego:

- Mam sobie listę złożonych wniosków w panelu admina w różnych kategoriach
- Obok każdej kategorii chcę umieścić liczbę NOWYCH, nie rozpatrzonych przez admina wniosków

Wszystko to jest oparte na AngularJS, więc w Symfony jest to REST API.

I teraz nie wiem jak tą liczbę nowych wniosków
@Spake: No to praktycznie ten sam problem co zapytałeś wcześniej. Przynajmniej jeśli chodzi o umiejscowienie danych:

a.) kiedy pobierasz kategorię, zaciągać razem z nią wnioski i w pętli zliczyć ile pozostało nowych

b.) „keszować” sobie tę informację w kategorii – czyli do kategorii dołożyć dodatkową kolumnę i za każdym razem, gdy ustalasz jakiś wniosek, zwiększać/zmniejszać licznik dla kategorii


W tym przypadku podobnie: albo zliczasz powiadomienia na bieżąco albo musisz gdzieś