PDO FETCH_CLASS mit verbundenen Tabellen

8

Nehmen wir an, ich habe 2 PHP-Objekte:

%Vor%

und

%Vor%

Jeder Post hat eine eindeutige Einschränkung mit 1 Benutzer in der Datenbank.

Ich möchte Daten in das "Post" -Objekt mit PDOs "FETCH_CLASS" -Methode füllen, die für alle "Post" -Attribute funktioniert, aber wie fülle ich die Attribute in "User"?

Meine SQL-Anweisung sieht so aus:

%Vor%

Danke!

UPDATE:

ATM Ich fülle meine "Post" -Klasse wie folgt:

%Vor%

Wie müsste ich das ändern, um auch die andere Klasse "User" zu füllen?

LÖSUNG:

%Vor%     
Raphael Jeger 04.03.2013, 13:38
quelle

3 Antworten

2

Theres keine Unterstützung für die direkt in PDO soweit ich weiß. In der Regel, wenn Sie ein komplexes Objektdiagramm aus dem Ergebnis der Abfrage erstellen müssen, das für ein ORM zuständig ist.

Wenn Sie diese Funktionalität benötigen, empfehlen wir Ihnen Doctrine oder Propel anstatt etwas selbst zu schreiben. Es gibt auch andere, die leichter sein können, aber ich habe keine Erfahrung mit ihnen.

BEARBEITEN:

Ich denke, vielleicht habe ich die Frage missverstanden, als ob andere sicher wären. Ich denke, die eigentliche Frage war, wie man Zugang zu den verbundenen Spalten bekommt, nicht wie man ein Objekt daraus erstellt.

In diesem Fall erhalten Sie mit einer Standard-Methode wie PDO::FETCH_ASSOC , PDO::FETCH_NUMERIC oder PDO::FETCH_BOTH alle von Ihnen abgefragten Spalten.

Wenn Sie das also in ein "Objektdiagramm" umwandeln wollen, müssen Sie es manuell tun, nicht indem Sie PDO::FETCH_CLASS verwenden.

Zum Beispiel:

%Vor%     
prodigitalson 04.03.2013, 13:40
quelle
1

Nicht wirklich eine Antwort für das OQ, aber weil es auf Google knallt (ja, ich weiß, dass es über ein Jahr alt ist). Sie werden feststellen, dass es viel schneller ist, Schleifen zu überspringen und jede Tabelle separat abzufragen.

%Vor%     
Cbunny 15.08.2014 07:36
quelle
0

Vielleicht verwenden Sie PDO :: FETCH_NAMED, wenn Sie mehrere Tabellen arbeiten. Oder benutze PDO :: ATTR_FETCH_TABLE_NAMES.

    
hovszabolcs 23.04.2015 14:26
quelle

Tags und Links