MM-Relation in Repository abfragen

  • Typo3Cuckoo Typo3Cuck...
    Sternenflotten-Admiral
    0 x
    184 Beiträge
    0 Hilfreiche Beiträge
    30. 05. 2011, 17:37

    Hi,

    ich möchte in der Ausgabe (Frontend) die Datensätze filtern. Dazu habe ich eine m:n Relation zwischen zwei Domain Models erstellt (Car und Category). Was ich noch nicht verstehe ist: wie kann ich im Repository nach dieser Relation abfragen?

    Hab folgendes in [b]CarRepository.php[/b] eingetragen, jedoch funktioniert das nicht:

    1. <?php
    2. /**
    3.  * Finds Cars of a specific Category
    4.  *
    5.  * @param Tx_Extbase_Persistence_ObjectStorage<Tx_MyExt_Domain_Model_Category> $category
    6.  *
    7.  * @return Tx_MyExt_Domain_Model_Car
    8.  */
    9. public function findByCategory($category) {
    10. t3lib_div::debug($category, '$category');
    11. $query = $this->createQuery();
    12. $query->matching($query->equals('categories', $category));
    13. $query->setOrderings(array('crdate' => Tx_Extbase_Persistence_QueryInterface::ORDER_DESCENDING));
    14. return $query->execute();
    15. }
    16. ?>

    Das Datenbankfeld [b]categories[/b] gehört zum Domain Model [b]Car[/b]. Darin steht ja nur die Anzahl der verknüpften Kategorien. Die eigentliche Verknüpfung zwischen einem [b]Car[/b] und einer [b]Category[/b] steht ja in der Tabelle [b]tx_myext_car_category_mm[/b]. Wie kann ich diese im Repository von [b]Car[/b] abfragen?

    Die Debug-Ausgabe von $category (erste Zeile in der Funktion) gibt mir die UID der übergebenen Kategorie aus. Das müsste man doch irgendwie als [b]uid_foreign[/b] nutzen können, aber wie?

    Vielen Dank schon mal!


  • mchenzi mchenzi
    Jedi-Meister
    0 x
    317 Beiträge
    0 Hilfreiche Beiträge
    24. 10. 2016, 15:34

    hallo
    weis jemand ob das immernoch so ist oder obe das der extension BUilder heutzutage die Klassen dafür erstellt?
    dank.

  • olek0707 olek0707
    Padawan
    0 x
    35 Beiträge
    0 Hilfreiche Beiträge
    30. 10. 2016, 11:01

    soweit ich weiß, es fehlt immer noch eine smarte Extbase-Lösung dafür. Schade.