Model.class.php 代码591-593行
这是bug吗? 但官方好像故意这么写的,可是如果不是bug,实际使用必然出现问题
}elseif(is_array($val) && isset($_REQUEST[$key]) && is_array($_REQUEST[$key])){
$options['where'][$key] = (string)$val;
}出现bug的条件:1/表单字段是数组,例如$_POST['id'] 是个数组
2/where连贯操作使用数组写法:$where['id']=array("in",$_POST['id']);或 $where['id'] = array("in","1,2,3");
查询结果出错,因为592行强制把array("in","1,2,3") 变成了字符串"Array".最后实际的sql语句成了where id = 'array'
最佳答案