最近在做多条件搜索,需要对传入的数据进行拼接成字符串传入数据库的WHERE查询条件中,但是又不想一个个的去进行手动拼接,因而就写了如下一个函数:
/**
* @todo 格式化客户端传入的条件
*/
public function formatWheresData($wheres){
unset($wheres['order']);
$keys=array_keys($wheres);
$return=array();
for ($i=0;$i<count($keys);$i++){
$return[] = ' `'.$keys[$i].'` = '.'\''.$wheres[$keys[$i]].'\' ';
}
return join(' AND ', $return);
}
这边只是做了简单的拼装,如果涉及到OR、LIKE模糊查询等其他的需要对该函数进行重写就可以了,这边就不做深入的解析。