ayeo
25.01.2008, 17:43:49
Witam!
Mam dwie klasy: User i Group. Klasa Gropup zawiera metodę addUser($user); Problem jest taki, że użytkowink nie może zapisać sie dwa ray do tej samej grupy więc aby znaleźć odpowiednią grupę potrzebuję id grup, do których User jest już zapisany. W sensie za każdym razem muszę pobierać z bazy id grup bo po każdym dodaniu te dane się zmieniają... Jakieś pomysły?
Myślałem nad tablicą w klasie User zawierającą id grup i updatowaną przy dodawaniu Usera do grupy. To jednak bezsensu bo metoda addUser() musiałaby zawierać $user->update_groups(); a to bezsensu.... Wtedy to już lepiej zamiast w $group->addUser() robić $user->addToGropu(); ale bardziej mi pasuje dodawanie przez grupę...
bim2
25.01.2008, 17:53:56
Nie rozumiem, przecież w $group->addUser() możesz wywołać $user->getUserGroups() i sprawdzić czy do danej już nie należy. Czyż nie?
ayeo
25.01.2008, 18:03:19
Dokładnie! Ale $user->getUserGroups() pobierze te dane z bazy za każdym razem! Jeśli dodaję Usera do x grup w pętli to mam x zapytań do bazy!
bim2
25.01.2008, 18:06:13
To dodawanie. Ile tego będziesz dodawał? Chyba możesz się o to pokusić

Gorzej gdyby było to pobiieranie z bazy na np. stronie głównej i każdy user by to odświeżał, ale to nie generuje dużego obciążenia gdy TY dodajesz kolejnych userów.
ayeo
25.01.2008, 20:52:19
Chciałbym zrobić to dobrze po prostu. Myślałem nad stworzeniem tablicy w klasie User, która zawierałaby wszytskie grupy danego usera. Dodatkowo byłaby flaga $updated i jeżeli dane zostały zmienione sam obiekt User zapisywałby do wszystkich grup na podstawie tej tablicy. Chodzi mi o to, że chcę dodawać przez obiekt Group, a nie User.
Edit: narazie zrobiłem to na zasadzie złączenia tabel... Jednak nie jest to zbyt wydajne...
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.