[TYPO3-german] content object - andwhere - CONCAT()?
Björn Pedersen
pedersen at frm2.tum.de
Fri Feb 3 16:22:10 CET 2012
Am 03.02.2012 16:04, schrieb horace grant:
> 2012/2/3 horace grant <horace3d at gmail.com>
>
>> 2012/2/3 horace grant <horace3d at gmail.com>
>>
>>> 2012/2/3 Ralf-Rene Schröder <ralf.rene at online.de>
>>>
>>>> Das MySQL Kommando FIND_IN_SET sollte helfen... damit solltest du die
>>>> Events finden können die die artist ID im Teilnehmer Feld haben...
>>>>
>>>
>>> danke für die antwort. ich habe das jetzt ausprobiert.
>>>
>>>
>>> andWhere.dataWrap = REPLACE(CONCAT(',', teilnehmer, ','),
>> '
>>> ', '') like ',%{field:uid}%,' |
>>>
>>> andWhere.dataWrap = FIND_IN_SET({field:uid}, teilnehmer)
>>>
>>>
>>> diese beiden zeilen scheinen genau dasselbe zu machen.
>>>
>>> meine events:
>>>
>>> event1 teilnehmer: 1,2,3
>>> event2 teilnehmer: 1
>>> event3 teilnehmer: 2
>>> event4 teilnehmer: 3
>>>
>>> die ausgabe der artists liste, die ich mit den zeilen von oben bekomme:
>>>
>>> artist1: event1 und event2
>>> artist2: event3
>>> artist3: event4
>>>
>>> beim ersten artist funktioniert es korrekt, bei den anderen fehlt der
>>> event1, bei dem die ja auch dabei sind.
>>>
>>> sehr seltsam. an was könnte das liegen?
>>>
>>
>>
>>
>> ich habe das jetzt auch in phpmyadmin ausprobiert.
>>
>> SELECT * FROM `tx_me_events` WHERE FIND_IN_SET(3, teilnehmer)
>>
>> dort funktioniert es! ich bekomme bei jedem artist zwei events gelistet. wo
>> könnte der fehler in der typoscript methode liegen?
>>
>
>
>
> wieviele verschachtelungsebenen unterstützt das content objekt? gibt es ein
> limit?
>
> ich habe jetzt nämlich herausgefunden, dass es gar nicht ein problem mit
> dieser
>
> andWhere.dataWrap = FIND_IN_SET({field:uid}, teilnehmer)
>
> zeile ist.
>
>
>
> page.9 = CONTENT
> page.9 {
> table = tx_me_artists
> select {
> pidInList = 4
> }
> renderObj = COA
> renderObj {
>
> 20 = TEXT
> 20.field = name
>
> # find artist's events
> 50 = CONTENT
> 50 {
> table = tx_me_events
> select {
> pidInList = 2
> andWhere.dataWrap = FIND_IN_SET({field:uid}, artists) |
> }
> renderObj = COA
> renderObj {
>
> 10 = TEXT
> 10.field = start
>
> /*
> 20 = CONTENT
> 20 {
> table = tx_me_locations
> select {
> pidInList = 3
> uidInList.field = location
> }
> renderObj = COA
> renderObj {
> 10 = TEXT
> 10.field = name
> }
> }
> */
> }
> }
> }
> }
>
>
>
> wenn ich die dritte content abfrage auskommentiere, funktioniert alles.
> wenn sie drinnen ist, funktioniert es nicht mehr.
>
> an was liegt das?
>
Vermutung:
An der Schachtelung, das Dataobject ist jeweils top-level Objekt. D.h
TYPO3 sucht das Feld location in tx_me_artists und wird da natürlich
nicht fündig.
Björn
More information about the TYPO3-german
mailing list