Datenbankabfrage im Zusammenspiel mit uidInList und pidInList
| Autor | Nachricht |
|---|---|
|
Verfasst am: 03. 06. 2009 [17:05]
|
|
|
mark13
Themenersteller
Dabei seit: 27.02.2009
Beiträge: 18
|
Hallo zusammen, anscheinend scheint mein derzeitiges Verständnisproblem ein häufige vorkommendes zu sein. Ausgangspunkt: Ich möchte den Inhalt eines DB Feldes dynamisch abfragen. In meinem Fall wird die uid im Backend vom Redakteur gepflegt (link-Feld) Ich möchte Inhalte der Zielseite über diese uid abfragen. Im Prinzip einfach. über: TYPOSCRIPT andWhere.field = field_link andWhere.intval = 1 andWhere.wrap = uid= | selectFields = db_feld geht aber (so) nicht. die sql-debug Ausgabe verrät: TYPOSCRIPT SELECT name FROM pages WHERE pages.pid IN (5) AND uid=757 die (automatisch) hinzugefügte pid ist in diesem Fall falsch, die Zielseite hat die pid 12. Also pid dynamisch auslesen oder ganz löschen nun das Verständnisproblem: egal welche Kombination von uidInList, pidInList oder andWhere, die select Abfrage ist nicht wie gewünscht zusammengesetzt: hier die getesteten Bsps: TYPOSCRIPT 1------------------------------------- table = pages select { uidInList = 757 selectFields = name } ergibt: SELECT name FROM pages WHERE pages.uid=757 AND pages.pid IN (5) 2------------------------------------- table = pages select { uidInList = 757 pidInList = 0 selectFields = name } SELECT name FROM pages WHERE pages.uid=757 3---------------------------- table = pages select { pidInList = 0 andWhere.field = field_link andWhere.intval = 1 andWhere.wrap = uid= | selectFields = name } SELECT name FROM pages WHERE pages.uid=0 AND uid=757 4--------------------------------- table = pages select { pidInList.field = field_link selectFields = name } SELECT name FROM pages WHERE pages.pid IN (757) Wenn ich uidInList den Value von field_link übergeben kann, wäre Bsp.2 meine Lösung. Nun die Fragen: WO sind die grundlegenden Unterschiede bei anwendung und Funktion von uidInList und pidInList? Kann ich uidInList Parameter zuweisen, wie es auch bei pidInList geht?(uidInList.field = ...) Oder geht nur die statische Zuweisung uidInList = 5 ? Warum hat die Anweisung pidInList = 0 im Zusammenspiel mit uidInLsit oder andWhere verschiedene Auswirkungen? im Bsp 2 verschwindet die pages.pid IN , in Bsp 3 taucht dafür pages.uid=0 auf? Grüße und Danke im Voraus |
|
Verfasst am: 03. 06. 2009 [17:17]
|
|
|
just2b
Moderator
Dabei seit: 04.08.2004
Beiträge: 19047
|
Hallo, erstens: warum erstellst du einen neuen post wenns schon http://www.typo3.net/index.php?id=13&action=list_post&tid=90172 gibt? eigentlichd achte ich auch dass man das eine ODER das andere verwenden muss, aber gerade geschaut, pidInList ist Pflicht! wenn du allerdings einen datensatz anhand der ID auslesen willst, empfiehtl es sich, das cObj RECORDS zu verwenden lg georg => TYPO3 - inspiring people to share <= aber kein Support per PM!
=> in eigener Sache: · inspiring people to share your location Trag dich in die TYPO3 Weltkarte ein und zeige wie groß die TYPO3 Community ist - vielen Dank!<= |
|
Verfasst am: 03. 06. 2009 [17:24]
|
|
|
mark13
Themenersteller
Dabei seit: 27.02.2009
Beiträge: 18
|
Hi, Danke für die Antwort und sorry wegen dem doppelten Posting. Aber nochmal nachgefragt, wenn pidInList Pflicht ist, dann würde ich pidInIst=0 setzen? wie beschreiben hat dies aber unterschiedliche Auswirkungen: Bsp2: Verwende ich uidInList und pidInList entfällt die pid abfrage im erzeugten SQL Bsp3: mit andwhere erscheint jetzt pages.uid=0 zusätzlich und kann ich uidInList über Parameter dynamisch zuweisen? |
|
Verfasst am: 03. 06. 2009 [17:53]
|
|
|
just2b
Moderator
Dabei seit: 04.08.2004
Beiträge: 19047
|
uidInList hat noch kein stdWrap, wird wohl mit 4.3 kommen lg georg => TYPO3 - inspiring people to share <= aber kein Support per PM!
=> in eigener Sache: · inspiring people to share your location Trag dich in die TYPO3 Weltkarte ein und zeige wie groß die TYPO3 Community ist - vielen Dank!<= |



