[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