Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Niepotrzebne zapytania
Forum PHP.pl > Forum > Przedszkole
ayeo
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
Nie rozumiem, przecież w $group->addUser() możesz wywołać $user->getUserGroups() i sprawdzić czy do danej już nie należy. Czyż nie? smile.gif
ayeo
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
To dodawanie. Ile tego będziesz dodawał? Chyba możesz się o to pokusić smile.gif 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. smile.gif
ayeo
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.