hiho Experten!
ich habe hier eine spannende Frage, allerdings stelle ich die ganz am ende, vielleicht erst einmal runterblaettern, und den Informativen Teil ueberspringen, der ist nur dabei, um wirklich alle Moeglichkeiten einzubeziehen.
eine MySQL DB via PEAR.
eine database*.ini (angelegt mit createTable.php) existiert, mit
[AUTO\_DATA]
<u>AID</u> = 129
ABEZ = 130
ATYP = 129
DATE = 384
[AUTO\_GRAPH]
<u>BID</u> = 129
AID = 129
BURL = 130
BPRIM = 1
[ATYP]
<u>TID</u> = 129
TBEZ = 130
diesen und vielen anderen Eintraegen.
meine database*.links.ini
[AUTO\_DATA]
; Hier wird einem immer der entsprechende Autotyp gegeben
ATYP=ATYP:TID
; alle Bilder des Autos zu einer AID
AID.picture= AUTO\_GRAPH:AID
[AUTO\_GRAPH]
AID=AUTO\_DATA:AID
sieht ungefaehr so aus, hier fehlen noch einige Abhaengigkeiten, das sind allerdings alle fuer AUTO_DATA
wem das noch nicht reicht an Info hier noch die Abhaengigkeiten:
ATYP AUTO\_DATA 1:n
AUTO\_DATA AUTO\_GRAPH 1:n
in ATYP ist TID Primary Key (PK) und es existieren Eintraege.
in AUTO_DATA ist AID PK und es ex. ein Eintrag mit ATYP=1 (Eintrag existiert)
in AUTO_GRAPH ist BID PK, und es exisitieren zu einer AID (Foreign Key) zwei Eintraege.
wenn ich nun mit pear und php:
echo " **Output ohne JOIN**
"; // einfache ausgabe
$car = DB\_DataObject::factory(AUTO\_DATA); // hiermit kann ich die in der autoportal.ini definierten Tabellen als Klasse laden.
$car-\>get(1); // ein select fuer Primary Key 1
$atyp=$car-\>getLinks(); // Mach einen Join ueber die in der autoportal.links.ini angegebenen Relationen fuer AUTO\_DATA
print\_r($car);
Er zeigt nun schon Informationen aus den 3 Tabellen, allerdings immer nur einen Eintrag.
habe ich PEAR richtig verstanden macht PEAR nun normalerweise einen join ueber die von mir in der .links.ini getroffenen Abhaengigkeiten.
Macht er aber nicht, er zeigt immer nur einen Eintrag fuer AUTO_GRAPH an, obwohl zwei existieren zu der AID gehoeren.
Mache ich etwas falsch, habe ich etwas falsch verstanden, bin ich dumm?
eines muss es sein!
danke schon mal im voraus an alle Mitdenker, sorry fuer den langen Thread, aber ich wollte einfach nicht riskieren etwas zu vergessen.
schoenes WE
josh
* database als Platzhalter fuer meine datenbank!!! die Bezeichnungen stimmen…