[Frage] Relation Property fehlt - Abfrage von verbundenem Objekt scheitert

  • 0 x
    91 Beiträge
    0 Hilfreiche Beiträge
    19. 10. 2016, 21:05

    Hallo,

    ich arbeite mit einem Owner-Model, indem alle Adressdaten in 'Addresses' ausgelagert und über das Feld 'contact' verbunden sind.
    Das klappt so weit bestens und bisher konnte ich im OwnersRepository über z.B.

    1. $query->equals('contact.email', $email);

    auch nach Daten aus dem zugehörigen Adressdatensatz suchen.

    Allerdings scheitert das, seit ich Owners von FrontendUser (und das OwnersRepository vom FrontendUserRepository) ableite - was nötig war, weil der Owner eben auch FE-User sein soll...

    Jetzt bekomme ich den Fehler
    #1353170925: The relation information for property "contact" of class "Sp\Offertiles\Domain\Model\Owners" is missing.

    Das Wiki sagt dazu:

    [...] But to make queries like
    $query->like("propertyXX.someproperty", '%foo%')
    work, you still have to declare a 'foreign_table' in your TCA.

    Hatte ich aber schon, foreign_table habe ich im Owners-TCA auf 'tx_[...]_domain_model_addresses'.

    Natürlich habe ich im Owners-Model auch nix geändert, 'contact' ist vom Typ [...]\Domain\Model\Addresses

    Habe keine Idee dazu & freue mich über einen Tipp!

    +++++ Nachtrag: +++++
    Wenn ich über das Repository mit findAll() abfrage, haben die FE_User alle ein

    contact => Sp\...\Domain\Model\Addresses prototype persistent entity

    Und natürlich sehe ich da auch alle Adressdaten.

    Grüße vom Rhein, Stefan

    40236


  • 1
  • froemken froemken
    Jedi-Ratsmitglied
    0 x
    811 Beiträge
    1 Hilfreiche Beiträge
    25. 10. 2016, 09:27

    Nur weil Dein Model jetzt von dem FrontendUser erbt, ist der Owner noch lange kein FrontendUser. Dein Owner bekommt einen ganzen Haufen mehr Eigenschaften, die alle einen TCA-Eintrag in Deiner Tabelle haben sollten. Wenn Dein Owner schon FrontendUser sein soll, dann biege die Tabelle, die für Owner zuständig ist, mittels TypoScript besser auf die Tabelle fe_user.

    Oder noch besser: Setz Owner und FrontendUser mittels einer 1:1 Relation zusammen.

  • 1