Dbjoin element Where clause

jo-ka

Member
Hello, Using J!3.8.

I'm trying to use this filter on a Dbjoin element:

CASE WHEN {$my->groups} LIKE '%20%' THEN license = '5015' ELSE license<> '»»' END

but it fails with 1064 error.

If I use:

CASE WHEN {$my->id} = '1920' THEN license = '5015' ELSE license <> '»»' END

It works OK.

I would expected that {$my->groups} works correctly, as per this wiki information.

http://fabrikar.com/forums/index.php?wiki/placeholders/#my-gt-xxx

Am I doing something wrong?

Thanks in advance
 
I'm not sure which format {$my->groups} is returning exactly.
But at least it will be a string and you have to quote it: '{$my->groups}'
 
I'm not sure which format {$my->groups} is returning exactly.
But at least it will be a string and you have to quote it: '{$my->groups}'

Dear troester,
Thank's for your reply. I've already tried that, and it's still failing.

Any other clue? I assume that this placeholder returns a list of options and not a single value, so can it be related?

Thank's in advance.
 
Seems to be ok on my site.
{$my->groups} is returning something like 8,12,15
and
CASE WHEN '{$my->groups}' LIKE '%20%' THEN my-column = '5015' ELSE my-column <> '»»' END
is working
 
Maybe ...'

CASE WHEN '20' IN ({$my->groups})

... might work better, would avoid potential false positives for (say) group ID 120. Although you could craft a REGEXP clause for that (we do it in a number of places.

-- hugh
 
We are in need of some funding.
More details.

Thank you.

Members online

Back
Top