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%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%Vielleicht verwenden Sie PDO :: FETCH_NAMED, wenn Sie mehrere Tabellen arbeiten. Oder benutze PDO :: ATTR_FETCH_TABLE_NAMES.