Ich habe 2 Models, wobei Model A eine OneToMany Assoziation auf Model B hat.
Model B hat eine Assoziation auf ein Media Model.
Wenn ich nun dem QueryBuilder von Model A wie folgt schreibe, bekomme ich die Daten von Model B. Was muss ich nun ändern, damit ich auch die Media Daten von den ganzen Model Bs bekomme?
public function getAQuery($aID) {
$builder = $this->getBrochureQueryBuilder($aID);
return $builder->getQuery();
}
public function getAQueryBuilder($aID) {
$builder = $this->getEntityManager()->createQueryBuilder()
->select(['a', 'bs'])
->from(A::class, 'a')
->leftJoin('a.bs', 'bs')
->where('a.id = :aId')
->setParameter('aId', $aID);
return $builder;
}
// für mit getArrayResult sinngemäß zu folgendem ergebnis.
a = [
id => 1,
bs => [
[id => 101, a_id => 1, media_id => 105],
[id => 102, a_id => 1, media_id => 109],
[id => 103, a_id => 1, media_id => 117],
]
]
Ich möchte aber nun folgendes Ergebnis:
a = [
id => 1,
bs => [
[id => 101, a_id => 1, media_id => 105, media: [ id => 105, path => '..', ...] ],
[id => 102, a_id => 1, media_id => 109, media: [ id => 109, path => '..', ...] ],
[id => 103, a_id => 1, media_id => 117, media: [ id => 117, path => '..', ...] ]
]
]
Auch mit fetch mode EAGER läd er die assoziationen nicht, sprich die spalte media_id ist da aber media nicht.