mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-14 00:39:57 +09:00
Update to array condition arguments.
git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0-DB@8602 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
9606e263e8
commit
bf1d72e478
3 changed files with 24 additions and 25 deletions
|
|
@ -22,34 +22,20 @@
|
||||||
$value = $this->value;
|
$value = $this->value;
|
||||||
|
|
||||||
switch($operation) {
|
switch($operation) {
|
||||||
case 'like_prefix' :
|
case 'like_prefix' :
|
||||||
$this->value = $value.'%';
|
$this->value = $value.'%';
|
||||||
break;
|
break;
|
||||||
case 'like_tail' :
|
case 'like_tail' :
|
||||||
$this->value = '%'.$value;
|
$this->value = '%'.$value;
|
||||||
break;
|
break;
|
||||||
case 'like' :
|
case 'like' :
|
||||||
$this->value = '%'.$value.'%';
|
$this->value = '%'.$value.'%';
|
||||||
break;
|
break;
|
||||||
case 'in' :
|
|
||||||
if(is_array($value))
|
|
||||||
{
|
|
||||||
//$value = $this->addQuotesArray($value);
|
|
||||||
if($this->getType() == 'number')
|
|
||||||
$this->value = "(" . join(',',$value) . ")";
|
|
||||||
else
|
|
||||||
$this->value = "('". join("','",$value)."')";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$this->value = $value;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
//if(!in_array($operation,array('in','notin','between')) && is_array($value)){
|
//if(!in_array($operation,array('in','notin','between')) && is_array($value)){
|
||||||
// $value = join(',', $value);
|
// $value = join(',', $value);
|
||||||
//}
|
//}
|
||||||
// Daca operatia nu este in, notin, between si coloana e de tip numeric
|
// Daca operatia nu este in, notin, between si coloana e de tip numeric
|
||||||
// daca valoarea e array -> concatenare
|
// daca valoarea e array -> concatenare
|
||||||
// daca valoarea nu e array si nici nu contine paranteze (nu e functie) -> return (int)
|
// daca valoarea nu e array si nici nu contine paranteze (nu e functie) -> return (int)
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,19 @@ class ConditionTest extends CubridTest {
|
||||||
|
|
||||||
$this->assertEquals('', $tag->toString());
|
$this->assertEquals('', $tag->toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks "in" operation
|
||||||
|
*/
|
||||||
|
public function testConditionString_In_VarcharArray() {
|
||||||
|
$member_srl_argument = new ConditionArgument('"member_srl"', array('a', 'b', 'c'), 'in');
|
||||||
|
$member_srl_argument->createConditionValue();
|
||||||
|
$member_srl_argument->setColumnType('varchar');
|
||||||
|
|
||||||
|
$tag = new Condition('"member_srl"', $member_srl_argument, 'in');
|
||||||
|
|
||||||
|
$this->assertEquals(' "member_srl" in (\'a\',\'b\',\'c\')', $tag->toString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
|
||||||
|
|
@ -142,7 +142,7 @@
|
||||||
function test_syndication_getGrantedModules(){
|
function test_syndication_getGrantedModules(){
|
||||||
$xml_file = _XE_PATH_ . "modules/syndication/queries/getGrantedModules.xml";
|
$xml_file = _XE_PATH_ . "modules/syndication/queries/getGrantedModules.xml";
|
||||||
$argsString = '$args->module_srl = 12;
|
$argsString = '$args->module_srl = 12;
|
||||||
$args->name = array(\'access\',\'view\',\'list\');';
|
$args->name = array(\'access\',\'view\',\'list\');';
|
||||||
$expected = 'select "module_srl"
|
$expected = 'select "module_srl"
|
||||||
from "xe_module_grants" as "module_grants"
|
from "xe_module_grants" as "module_grants"
|
||||||
where "name" in (\'access\',\'view\',\'list\')
|
where "name" in (\'access\',\'view\',\'list\')
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue