我正在cakePhp
编写IOS的Web服务并陷入IN
状态。
我有一张表dog_temperaments
,其值为"happy,dependent,shy"
。
现在如果IOS发送给我数组(快乐,害羞)那么我就像这样搜索
Select dog_temperaments.* where temperaments IN(happy,shy)
它的工作正常,但如果IOS发送给我数组0或任何(意味着任何气质搜索)那么我将如何搜索........
任何意味着按所有气质搜索
答案 0 :(得分:3)
如果它是0
或任何any
,则不需要该条件,因为它应该返回所有条件。
所以aassuming $type
将气质作为一个数组包含在内,而0
/ any
将是该情况的单个元素。
if(count($type) == 1 && in_array(($type[0], array('0', 'any'))) {
$condition = "";
} else {
$condition = "WHERE temperaments IN ('" . implode("','", $type) . "')";
}
查询将像 -
"Select dog_temperaments.* from dog_temperaments ".$condition
答案 1 :(得分:1)
您可以检查数组是否为空
if(is_array($array)) {
Use
Select dog_temperaments.* where temperaments IN('happy','shy');
} else {
notify Enter proper search key
}
如果数组为空(如
),则无论如何都会使用相同的查询获得空结果Select dog_temperaments.* where temperaments IN(0);