Ergebnis 1 bis 2 von 2

Thema: findby mit serialisiertem Ziel-Feld

  1. #1
    Contao-Nutzer Avatar von rory_ch
    Registriert seit
    11.05.2016.
    Ort
    Schweiz
    Beiträge
    119

    Frage findby mit serialisiertem Ziel-Feld

    Hallo zusammen

    Ausgangslage
    Tabelle Angebote
    Spalten: ID, Titel, Kategorie (Select mit "multiple=true")

    Tabelle Kategorie
    Spalten: ID, Titel

    Nun möchte ich im Modul Listing für die Angebote alle Angebote der Kategorie mit der ID 10.
    Mit einem findBy('category', 10) hat sich das aber nicht getan, da es ja serialisiert in der Tabelle Angebote abgelegt ist.

    Hat Contao da Bordmittel bereitgestellt, um eine solche Abfrage zu ermöglichen?

    Habe unter https://docs.contao.org/books/cookbook/de/Models.html zwar "belongsToMany, hasMany, belongsToetc." als Stichworte aufgegriffen.
    Bin mir da aber nicht so sicher, ob ich da einen Fehler mache (habe beim Feld Kategorie in der Tabelle Angebote hasMany hinterlegt).
    Würde Contao dann automatisch unserialize machen, vor dem findby?
    Kann mich jemand aufklären, was es mit diesen Werten auf sich hat?
    Muss man es z.B. auf beiden Seiten definieren?
    Ich meine bei der Kategorie ID sagen "belongsToMany" und beim Fremdschlüssel in den Angeboten "hasMany"?

    Alternativ müsste ich einen eigenen foreach machen und raus filtern was ich brauche.

    Danke im Voraus fürs Feedback
    Geändert von rory_ch (27.01.2017 um 15:28 Uhr)

  2. #2
    Contao-Nutzer Avatar von rory_ch
    Registriert seit
    11.05.2016.
    Ort
    Schweiz
    Beiträge
    119

    Standard

    Als Workaround haben wir den Suchstring einfach innerhalb der entsprechenden Trennelementen gesucht:

    SELECT ... WHERE table.field LIKE '%:"Suchbegriff";%'

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •