jastu
10.09.2007, 07:29:16
Witajcie,
pisze na potrzeby pewnej aplikacji wewnętrzny system wiadomości wysyłanych między jej użytkownikami. Problem zrodził się w momencie w którym pojawiło się wymaganie dot. przenoszenia wiadomości miedzy folderami (np z wysłanych do kosza). Najłatwiej byłoby zrobić dla każdego folderu oddzielną tabelę...ale co jeśli user chce sobie sam stworzyć folder. Można zrobić jedną tabelę (na kosz,wysłane,odebrane razem i dać flagi w kolumnie folder), tylko tu też jest problem z folderami tworzonymi przez użytkownika. Znacie jakieś zgrabne rozwiązanie tego problemu ?
AxZx
10.09.2007, 08:00:40
tabela folder
tabela wiadomosci z kolumna folder_id
Ociu
10.09.2007, 08:31:44
Nic innego jak kategorie w newsach czy artach.
id | name <- folders
mess_id | mess_name | folder_id <- messages
jastu
30.09.2007, 14:14:38
Odgrzewam...
jak rozwiązać problem wiadomości która u jednego użytkownika widnieje jako wysłana a u innego jako odebrana ? Jeśli jeden z nich usunię tą wiadomośc to zniknie ona z list obu użytkowników (zakładając że przechowujemy wszystko w jednej tabeli) ?
Wiem że można to zrobic przez widoki czy wyzwalacze, ale szukam najprostszego rozwiązania na które zazwyczaj wpadamy po długiej walce z problemem.
Zachęcam do dyskusji !
qqrq
30.09.2007, 15:12:46
Robisz tabelkę haszującą:
user_mess
=======
user_id
message_id
status
I wstawiasz status, czyli jak się dany użytkownik ma do danej wiadomości.
Co do 2. problemu - zamiast usuwać wiadomości zmieniaj ich status. Wtedy dla jednych będą "usunięte", a dla innych nie. Problem tylko, że zaśmiecisz bazę.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.