Ergebnis 1 bis 7 von 7

Thema: Erweiterung - ID auslesen

  1. #1
    Contao-Nutzer
    Registriert seit
    30.07.2014.
    Beiträge
    163

    Standard Erweiterung - ID auslesen

    Hallo,

    bei der Ausgabe in meiner eigenen Erweiterung, muss ich auf 2 Tabellen zu greifen.
    - tl_immo
    - tl_ansprechpartner

    Im Backend kann ich in der Immoblie auswählen, welcher Ansprechpartner der richtige ist. Diese habe ich vorher in Ansprechpartner gepflegt.
    Im Feld tl_immo.ansprechpartner wird dann die ID des Ansprechpartners gespeichert.

    Wie lese ich diese ID nun? So sieht meine Abfrage im Module aus
    PHP-Code:
    $objImmo $this->Database->prepare("SELECT * FROM tl_immo JOIN tl_ansprechpartner WHERE tl_immo.published = 1 AND tl_immo.id = ? AND tl_ansprechpartner.id = ?".$limit)->execute($id2); 
    Die 2 gibt mir den Ansprechpartner mit der ID 2 aus. Jedoch muss diese ja variabel sein. Danke für eure Hilfe.

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.160
    Partner-ID
    10107

    Standard

    Was genau soll dein Modul anzeigen?

  3. #3
    Contao-Nutzer
    Registriert seit
    30.07.2014.
    Beiträge
    163

    Standard

    Mein Modul bzw Template gibt Daten zu einer Immoblie aus, die im Backend gepflegt wurde. In einer weiteren BE-Modul können Ansprechpartner gepflegt werden, die man im BE-Modul der Immoblie auswählen kann.
    Dieser Ansprechpartner soll zusätzlich in der Immoblien-Ansicht mit ausgegeben werden.

    Daher werden 2 Tabellen abgefragt.

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.160
    Partner-ID
    10107

    Standard

    Wenn du die Daten gleich im JOIN haben möchtest, dann lautet der Query
    Code:
    SELECT * FROM tl_immo JOIN tl_ansprechpartner WHERE tl_immo.published = 1 AND tl_immo.id = ? AND tl_ansprechpartner.id = tl_immo.ansprechpartner
    In Contao arbeitet man hier aber normalerweise mit foreignKey referenzen und Models und gibt an, ob die related Daten lazy oder eager loadet werden sollen.

  5. #5
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.513
    User beschenken
    Wunschliste

    Standard

    Mit den wenigen Infos würde ich sagen dein Datenbank Modell ist seltsam.
    Wenn du hättest:

    tl_immo.id
    tl_immo.name
    tl_immo.ansprechpartner_id

    tl_ansprechparter.id
    tl_ansprechparter.name

    Und dann eine Beziehung zw. tl_immo.ansprechpartner_id = tl_ansprechparter.id herstellst, kann du das doch mit join ganz einfach abfragen.
    Frage bleibt, was genau dein Filter sein soll, wenn du nur einen bestimmten Datensatz haben willst.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.160
    Partner-ID
    10107

    Standard

    Sieh dir zB die News <-> Author Relation von Contao an. Mit 'load'=>'eager' wird angegeben, dass die Informationen des Authors immer sofort mitgeladen werden sollen. Mit dem News Model kannst du das Author Model so holen:
    PHP-Code:
    $objAuthor $objNews->getRelated('author'); 

  7. #7
    Contao-Nutzer
    Registriert seit
    30.07.2014.
    Beiträge
    163

    Standard

    Den Wald vor lauter Bäume nicht mehr gesehen. Vielen Dank Spooky.

    Wo kann ich mich denn da mal belesen, wie man das normalerweise umsetzt?

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
  •