Autor | Zpráva | ||
---|---|---|---|
matak Profil |
#1 · Zasláno: 7. 7. 2006, 16:30:56
Máte někdo zkušenosti s objektovým programováním?
Když entita se mi skládá s dalších např 4 podentit. Např. chci polozit dotaz, ale objekt je definovan s objekt objekt->vlastnost1 objekt->vlastnost2 objekt->vlastnost3 objekt->vlastnost4 ted chci z databáze vytahnout udaje ktere priradim pod objekt a nasledne dalsi pod objekty reprezentujici vlastnosti, kekazde vlastnosti prislusi jedna tabulka v dtb jedna moznost jak polozit dotaz je tak: $q = "SELECT * FROM {$tb}_objekt as o LEFT JOIN {$tb}_objekt_vl1 as o1 USING (ID) LEFT JOIN {$tb}_objekt_vl2 as o2 USING (ID) LEFT JOIN {$tb}_objekt_vl3 as o3 USING (ID) LEFT JOIN {$tb}_objekt_vl4 as o4 USING (ID) WHERE o.ID = '".$ID."'"; nebo zvlast což by objektovému modelu odpovídalo více $q = "SELECT * FROM {$tb}_objekt WHERE ID = $ID"; $q = "SELECT * FROM {$tb}_objekt_vl1 WHERE ID = $ID"; $q = "SELECT * FROM {$tb}_objekt_vl2 WHERE ID = $ID"; $q = "SELECT * FROM {$tb}_objekt_vl3 WHERE ID = $ID"; $q = "SELECT * FROM {$tb}_objekt_vl4 WHERE ID = $ID"; bude hodně znát položení takovýchto 5 dotazů oproti jednomu se složenými tabulkami?? nebo lze nejak naplnit objekt, slozenym dotazem? |
||
thingwath Profil |
#2 · Zasláno: 7. 7. 2006, 16:42:38
To asi není úplně vhodná reprezentace dat. OR mapování je každopádně věda a to i v PHP. Asi bych se na to vykašlal a použil nějaký hotový nástroj.
|
||
matak Profil |
#3 · Zasláno: 7. 7. 2006, 17:13:50
tím máš na mysli?není mi jasné nástroj?a prosím upřesni mapování?
|
||
thingwath Profil |
#4 · Zasláno: 7. 7. 2006, 17:26:58
No, mi není hlavně příliš jasné, jak to myslíš ten tvůj model. Obvykle (ale to nemusí dávat žádný smysl) by se to asi udělalo tak, že jeden objekt by náležel jedné tabulce v databázi. Já osobně bych popřemýšlel asi o něčem (například) z tohoto: http://wiki.cc/php/Object_Relational_Mapping
|
||
matak Profil |
#5 · Zasláno: 7. 7. 2006, 17:31:17
no vždyť mě to tak souhlasí, objekt rovná se tabulce v dtb, ale ostatní tabulky jsou vlastnosti objektu
napr. uzivatel oddeleni jsou dva objekty to cele je modul uzivatele a uzivatel je ridici trida, nevim jestli to pisu spravne ale mam to takto udelane uzivatel->oddeleni->get_oddeleni() pro priklad uzivatel->jmeno; uzivatel->oddeleni->nazev |
||
thingwath Profil |
#6 · Zasláno: 7. 7. 2006, 17:38:09
Zmátlo mě slovo vlastnost, to sice může být reference na jinou třídu, ale nečekal jsem to. Použil bych jeden dotaz, ale ten rozdíl asi nebude zásadní.
|
||
matak Profil |
#7 · Zasláno: 7. 7. 2006, 17:40:53
ok, takze jeden dotaz, ale jak pak
nacpes ten dotaz do promennych jednotlivycho podtrid? chtel bych vyuzit funkce mysql_fetch_object?? |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0