Extbase Suche in anderen Tabellen [Gelöst]

  • zabus zabus
    T3PO
    0 x
    9 Beiträge
    0 Hilfreiche Beiträge
    18. 10. 2012, 12:07

    Hallo Leute!

    Folgender Fall:

    Ich habe ein ModelObject(nennen wir es A), dass eine M:N Relation zu einem anderen hat(B), jetzt übergebe ich einen Suchstring an eine Action, dort will ich nach allen A Objects suchen die eine Relation zu einem B Object haben, dass in dem Feld name den Suchstring enthaltet. Wie kann ich sowas schön mit extbase umsetzen?

    Mir fällt da auf die schnelle nichts ein...

    Lg Zabus ;)


  • 1
  • Coreblade Coreblade
    R2-D2
    0 x
    96 Beiträge
    0 Hilfreiche Beiträge
    18. 10. 2012, 14:13

    Hallo zabus

    Du kannst in Deinem Repository eine Funktion erstellen, die die beiden Tabellen Joined. Diese Funktion rufst Du dann in Deinem Controller auf.

    1. public function FilterList($suchstring) {
    2. $query = $this->createQuery();
    3.  
    4. $where = "WHERE a.deleted = 0 AND a.hidden = 0";
    5.  
    6. if (strlen($suchstring) > 0) {
    7. $where .= " AND a.name LIKE '" . $suchstring . "%'";
    8. }
    9.  
    10. $sql = "SELECT a.* FROM tx_deineExtension_domain_model_a AS a LEFT JOIN tx_deineExtension_domain_model_b AS b ON a.uid = b.foreignkey " . $where;
    11. $query->statement($sql);
    12. return $query->execute();
    13. }

    Oder habe ich Dich falsch verstanden? PS: Die Funktion ist nicht getestet.

    Gruss Coreblade

  • zabus zabus
    T3PO
    0 x
    9 Beiträge
    0 Hilfreiche Beiträge
    18. 10. 2012, 14:38

    hm jo hab die möglichkeit schon gefunden, funzt auch. dachte, dass es vl. noch was von typo3 gibt wo ich keinen custom query machen muss. Danke ;)

  • 1