Hi,
Ich habe nämlich folgendes Problem:
Zwei Domain Models (Model1 und Model2). Model1 ist Aggregate Root. Zwischen den Domain Models besteht eine m:n-Relation. In Model1 kann ich mehrere Model2 Objekte referenzieren.
Ich kann also zu jedem Model1 Objekt alle referenzierten Model2 Objekte finden.
Was aber grad nicht funktionieren will ist, dass ich ein Model2 Repository im Model1 Controller instanziere und mir einfach alle vorhandenen Model2 Objekte ausgebe, also komplett am Aggregate Root vorbei.
<?php
class Tx_MyExt_Controller_Model1Controller extends Tx_Extbase_MVC_Controller_ActionController {
/**
* seminarInfoRepository
*
* @var Tx_MyExt_Domain_Repository_Model2Repository $model2Repository
*/
protected $model2Repository;
/**
* injectModel2Repository
*
* @param Tx_MyExt_Domain_Repository_Model2Repository $model2Repository
* @return void
*/
public function injectModel2Repository(Tx_MyExt_Domain_Repository_Model2Repository $model2Repository) {
$this->model2Repository = $model2Repository;
}
public function listAction() {
[...]
$allModel2Objects = $this->model2Repository->findAll();
foreach($allModel2Objects as $model2) {
t3lib_div::debug($model2, '$model2');
}
[...]
}
}
?>
Im Frontend gibt es keine Debugging-Ausgabe, die foreach-Schleife wird also nicht durchlaufen weil die Variable $allModel2Objects anscheinend leer ist.
Also denke ich, dass ich aus Model2 ebenfalls ein Aggregate Root machen muss, damit ich unabhängig vom Model1 auf Model2 Zugriff erhalte.
Wo muss ich alles Hand anlegen um aus einem bisher "normalen" Domain Model (Model2) ein Aggregate Root zu machen?
Hoffe ihr könnt mir helfen 🙂