![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 0 Dołączył: 5.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam takie 2 tabele Obrazek tabelek trzecia (dolna tabelke) otrzymuje po wykonaniu zapytania : SELECT a.*, b.name as 'role_name', b.id as 'role_id' FROM gw_admins as a, gw_admin_roles as b WHERE a.id = '$id' AND key_id = '{$_SESSION['gw_admin']}' and a.role = b.id i teraz moje pytanie. Jak mam sobie kontener na admina gdzie trzymam : private $id; private $gw_key_id; private $username; private $password; private $email; private $role; private $first_name; private $last_name; private $phone; czy powinienem tez trzymac private $role_id; nie chce robic osobnego obiektu dla samych roli bo mi bedzie nie potrzebny natomiast przy wywolaniu selectAdmin($id) chce znac jego role po nazwie i miec dostep do id tej roli. Jak to z punktu OOP rozgryzc ? $admin= new Admin(); $admin->getRole()->getId() , jakos tak ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 1 Dołączył: 20.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Cytat $admin= new Admin(); $admin->getRole()->getId() Bardzo dobry pomysł. Jeśli potrzebujesz $role_id i $role_name w klasie usera to nie widzę przeszkód by takie pola utworzyć - choć osobiście zrobiłbym osobną klasę. Na marginesie zastanawiam się czy nie lepiej byłoby utworzyć, prócz tabel 'users' i 'roles' trzecią tabelę relacji 'users_roles' [user)id, role_id], a generują zapytanie sql korzysstać z JOIN - w ten sposób możesz przypisać użytkownikowi wiele ról. No chyba że niepotrzebne Ci są relacje wiele-do-wielu (IMG:style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 05:45 |