Gemischte Queries mit Doctrine

Hallo zusammen,

ich habe heute mal wieder mit Doctrine rum gespielt und wollte eine Query bauen, mit welcher ich sowohl auf eine Entity als auch auf einen berechneten Wert erzeugen wollte. Der Zugriff auf das Resultobjekt ist dann ein wenig verwirrend.

[code]
_entityManager
->createQuery(‚SELECT
d,
count(cs1.id) AS abc,
count(cs5.id) AS def,
count(cs6.id) AS ghi
FROM \Entity\Dummy d
JOIN d.CCC c
JOIN c.states cs1 WITH cs1.state = :state1
LEFT JOIN c.states cs2 WITH cs2.state = :state2
LEFT JOIN c.states cs3 WITH cs3.state = :state3
LEFT JOIN c.states cs4 WITH cs4.state = :state4
LEFT JOIN c.states cs5 WITH cs5.state = :state5
LEFT JOIN c.states cs6 WITH cs6.state = :state6
WHERE cs2.id IS NULL AND cs3.id IS NULL AND cs4.id IS NULL
GROUP BY d.id‘)
->setParameters(
array(’state1′ => 1,
’state2′ => 2,
’state3′ => 3,
’state4′ => 4,
’state5′ => 5
’state6′ => 6))
->getResult();
}
?>
[/code]

Zugriff von PHP dann über:

[code]
getId());
\Zend_Debug::dump($foo[‚abc‘]);
\Zend_Debug::dump($foo[‚def‘]);
\Zend_Debug::dump($foo[‚ghi‘]);
}
?>
[/code]

Leider lassen sich meines Wissens nach keine Aliase für die Objekte anlegen, man kann also nur auf numerische Indizes zugreifen. Analog funktioniert das auch, wenn man sich mit einer Queries mehrere Entites zurück geben lässt.

GD Star Rating
loading...

Kommentar verfassen