Zum Inhalt springen

Aus Controller => Aufruf zweites Repository

Erstellt am 4. Mai 2012 · 2 Antworten · letzte Antwort am 4. Mai 2012

Tags: Frage

michael_h ·

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

BFSven ·

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

michael_h ·

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