Hallo zusammen ich kämpfe mit einem Extbase problem. Ich habe zwei Models. Picture und Album. Das Model Album hat beliebig viele Pictures. Zusätzlich hat aber noch jedes Album ein Coverphoto. In jedem Album ist die Id des Coverphotos abgelegt.
Nun meine Frage. Wenn ich eine List mit allen Albums ausgebe, dann erhalte ich natürlich auch die jeweilige Cover-ID des albums zurück. Da dies aber erst die ID ist und noch icht das bild muss ich ich in der pictures tabelle danach suchen.
Wie lässt sich das am elegantesten lösen ohne das ich im albums controller für jedes album nochmals ein query absetzen muss welches mit das zugehörige bild ausliest?
Gibt es z.B eine Möglichkeit mit einem Join direkt bei der Abfrage aller Albums noch die entsprechenden Felder der Pictures tabelle auszulesen?
Anbei mein Controllercode
public function listAction() {
$albums = $this->albumRepository->findAll();
// Hier würde ich gerne die albums objekte noch mit informationen
// aus einem anderen model anreichern
$this->view->assign('albums', $albums);
}
Ich habe mir überlegt ob das allenfalls so geht
foreach ($albums as $album){
$alb[] = $this->pictureRepository->findOneByFbPhotoId($album->getCoverPhoto());
}
allerdings habe ich dann das problem zwei arrays zu haben zum einen.. meine albums und zum anderen das $alb[] array... und das dann wieder sinnvoll zusammenzuknöpfen ist auch nicht optimal... super wäre für mich wenn ich gleich alles in meinem $albums array hätte.
Für Tips wäre ich super dankbar.
Danke, Gruss Michi