Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak stworzyc obiekt adekwatny do laczonej bazy danych.
rahul
post
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 ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
rahul
post
Post #2





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 5.03.2011

Ostrzeżenie: (0%)
-----


Hej elo.
Drazac temat. Pytanie jak powyzej. Czy moge miec obiekt w obiekcie jezeli tak to czy jest ktos w stanie mi troszeczke to jakby lopatologicznie wyjasnic. Sytacja ma sie glownie w zapytaniach jak lacze rozne tabele i wyciagam info zwiazane nie tylko z jednym obiektem lecz z 2 a w przyszlosci pewnie i z wieksza iloscia.

Mam np. obiekt komentarz, yo.

[PHP] pobierz, plaintext

while($row = mysql_fetch_assoc($sql))
{
$comment = new comment();
$comment->setId($row['id']);
$comment->setGwKeyId($row['gw_key_id']);
$comment->setAuthorId($row['author_id']); // tutaj mam id autora, samo id mnie nie interesuje, chce znac imie i nazwisko. Aby nie zadawac 2 zapytan do bd, zadaje jedno duuuuze i wyciagam info, yo.
$comment->setTarget($row['target']);
$comment->setTargetId($row['target_id']);
$this->comment[] = $comment;
}


tak wiec robie LeftJoina. Np =

[PHP] pobierz, plaintext


$sql = mysql_query("select c.*, a.id as 'admin_id' , a.firstName as 'admin_firstName' , a.lastName as 'admin_lastName' , a.login as 'admin_login'
FROM gw_comments as c LEFT JOIN gw_admins as a ON c.author_id = a.id
WHERE target='$target'
AND gw_key_id = '{$_SESSION['gw_admin']}'
AND target_id = '$id'");




NO dobra i czy teraz obiekt admin sobie siedzi w obiekcie comentarz pod private $author_id czy mam stworzy 2 obiekt. Jak to ugryzc. Help
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.12.2025 - 00:57