chg: use CASE WHEN instead of IF in $virtualFields

pull/1364/head
Andreas Ziegler 2016-07-11 20:24:03 +02:00
parent ff7a7de938
commit dd30621155
3 changed files with 3 additions and 3 deletions

View File

@ -41,7 +41,7 @@ class Attribute extends AppModel {
* @var array
*/
public $virtualFields = array(
'value' => 'IF (Attribute.value2="", Attribute.value1, CONCAT(Attribute.value1, "|", Attribute.value2))',
'value' => "CASE WHEN Attribute.value2 = '' THEN Attribute.value1 ELSE CONCAT(Attribute.value1, '|', Attribute.value2) END",
); // TODO hardcoded
/**

View File

@ -60,7 +60,7 @@ class Role extends AppModel {
*/
public $virtualFields = array(
'permission' => "IF (Role.perm_add && Role.perm_modify && Role.perm_publish, '3', IF (Role.perm_add && Role.perm_modify_org, '2', IF (Role.perm_add, '1', '0')))",
'permission' => "CASE WHEN (Role.perm_add + Role.perm_modify + Role.perm_publish = 3) THEN '3' WHEN (Role.perm_add + Role.perm_modify_org = 2) THEN '2' WHEN (Role.perm_add = 1) THEN '1' ELSE '0' END",
);
public $permFlags = array(

View File

@ -62,7 +62,7 @@ class ShadowAttribute extends AppModel {
* @var array
*/
public $virtualFields = array(
'value' => 'IF (ShadowAttribute.value2="", ShadowAttribute.value1, CONCAT(ShadowAttribute.value1, "|", ShadowAttribute.value2))',
'value' => "CASE WHEN ShadowAttribute.value2 = '' THEN ShadowAttribute.value1 ELSE CONCAT(ShadowAttribute.value1, '|', ShadowAttribute.value2) END",
); // TODO hardcoded
/**