Aus Controller => Aufruf zweites Repository [Gelöst]

  • 0 x
    8 Beiträge
    0 Hilfreiche Beiträge
    04. 05. 2012, 15:53

    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:
    [b]A[/b]Controller.php: $this->[b]b[/b]Repository->getDataFrom[b]B[/b]()
    [b]B[/b]Controller.php: $this->[b]a[/b]Repository->getDataFrom[b]A[/b]()

    Ich hoffe sehr, mir kann jemand weiterhelfen. :) Würde mich freue.

    Schöne Grüße
    Michael


  • 1
  • BFSven BFSven
    R2-D2
    0 x
    106 Beiträge
    2 Hilfreiche Beiträge
    04. 05. 2012, 16:37

    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

    1. /**
    2.  * @var Tx_MichasExt_Domain_Repository_BRepository
    3.  */
    4. protected $bRepository;
    5.  
    6. /**
    7.  * @param Tx_MichasExt_Domain_Repository_BRepository $bRepository
    8.  */
    9. public function injectBRepository(Tx_MichasExt_Domain_Repository_BRepository $bRepository) {
    10. $this->bRepository= $bRepository;
    11. }

    Wenn mein altes Hirn mich nicht täuscht, müsste es so klappen

    Gruß, Sven

  • 0 x
    8 Beiträge
    0 Hilfreiche Beiträge
    04. 05. 2012, 18:01

    Hallo Sven,

    viiiiielen Dank für die extrem hilfreiche und schnelle Antwort. :D 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

  • 1