Hallo,
ich habe eine Extension mit 2 "Model Objects" (mit je einem Repository und einer DB-Table).
Wie kann ich aus "AController.php" auf "BRepository.php" zugreifen?
Funktionieren tut natürlich:
AController.php: $this->aRepository->getDataFromA()
BController.php: $this->bRepository->getDataFromB()
Aber wie realisiert man das:
AController.php: $this->bRepository->getDataFromB()
BController.php: $this->aRepository->getDataFromA()
Ich hoffe sehr, mir kann jemand weiterhelfen. 🙂 Würde mich freue.
Schöne Grüße
Michael
Hallo Michael,
der Controller ist eigentlich unabhängig von den Models und Repositories, ich vermute Du hast Dir das ganze mit dem extension_builder generieren lassen? Dann hast Du bestimmt inject-Methoden im Controller für Dein ARepository. Du fügst einfach eine weitere Member-Variable plus injectMethode hinzu
/**
* @var Tx_MichasExt_Domain_Repository_BRepository
*/
protected $bRepository;
/**
* @param Tx_MichasExt_Domain_Repository_BRepository $bRepository
*/
public function injectBRepository(Tx_MichasExt_Domain_Repository_BRepository $bRepository) {
$this->bRepository= $bRepository;
}
Wenn mein altes Hirn mich nicht täuscht, müsste es so klappen
Gruß, Sven
Hallo Sven,
viiiiielen Dank für die extrem hilfreiche und schnelle Antwort. 😃 Genau wie von Dir beschrieben, hat's funktioniert.
Richtig, ich habe die Extension mit dem extension_builder erstellt. Das war das erste mal, dass mir die Injections, welche vom extension_builder erstellt werden, nicht ausgereicht haben.
Danke, schöne Grüße
Michael