Zum Inhalt springen

verschachtelte SQL-Abfrage / Content

Erstellt am 25. Januar 2010 · 2 Antworten · letzte Antwort am 26. Januar 2010

Tags: Frage

t3-newbie ·

Guten Morgen,

Ich möchte gerne zwei SQL-Abfragen miteinander verschachteln, um zunächst Linkkategorien und dann die dazugehörigen Links abzufragen. Prinzipiell habe ich das TS soweit fertig. Ich schaffe es nur nicht die zweite SQL Abfrage mit Werten aus der ersten zusammen zu setzen.

tt_content.list.20.1 = COA
tt_content.list.20.1 {
     1 = CONTENT
     1 {
        table = tt_links_cat
        select.pidInList = 643
        select.orderBy = title
        renderObj = COA
        renderObj {
             stdWrap.wrap=<ul>|</ul>
  
             10 = TEXT
             10.dataWrap = {field:title}
             
             15 = TEXT
             15.dataWrap = -{field:uid}

             20 = CONTENT
             20 {
                dataWrap = {field:uid}
                Wrap = <ul>|</ul>
                table = tt_links
                select.pidInList = 643
                select.orderBy = url
                select.where = category={field:uid}
                
                renderObj = COA
                renderObj {
                    wrap = <li>|</li>
                    10 = TEXT
                    10.dataWrap = {field:url}
                }
             }
        }
     }
}

Wie bekomme ich es hin, das category={field:uid} funktioniert?

Julian.​Hofmann ·

Hallo.

Das Problem ist, dass "where" nur einfachen Text akzeptiert, d.h. nichts ersetzt wird, keine stdWrap-Eigenschaften hat,...
Daher schauen wir mal in die TSref, welche Möglichkeiten uns select noch bietet. Dabei stößt man u.a. auf andWhere, das stdWrap-Eigenschaften hat. mit einem dataWrap für die andWhere-Eigenschaft solltest Du ans Ziel kommen.

Viele Grüße
Julian

t3-newbie ·

Und ich war sowas von nah dran.... :-)

tt_content.list.20.1 = COA
tt_content.list.20.1 {
     1 = CONTENT
     1 {
        table = tt_links_cat
        select.pidInList = 643
        select.orderBy = title
        renderObj = COA
        renderObj {
             stdWrap.wrap=<ul>|</ul>
  
             10 = TEXT
             10.dataWrap = {field:title}

             20 = CONTENT
             20 {
                dataWrap = {field:uid}
                Wrap = <ul>|</ul>
                table = tt_links
                select.pidInList = 643
                select.orderBy = url
                select.andWhere.dataWrap = category={field:uid}
                
                renderObj = COA
                renderObj {
                    wrap = <li>|</li>
                    10 = TEXT
                    10.dataWrap = {field:url}
                }
             }
        }
     }
}

Ganz herzlichen Dank für den Schupser in die richtige Richtung!!! Beim nächsten Mal komme ich hoffentlich selber drauf.