public function where_any_is($values, $operator = '=')
{
$data = array();
$query = array("((");
$first = true;
foreach ($values as $value) {
if ($first) {
$first = false;
} else {
$query[] = ") OR (";
}
$firstsub = true;
foreach ($value as $key => $item) {
$op = is_string($operator) ? $operator : (isset($operator[$key]) ? $operator[$key] : '=');
if ($firstsub) {
$firstsub = false;
} else {
$query[] = "AND";
}
$query[] = $this->_quote_identifier($key);
$data[] = $item;
$query[] = $op . " ?";
}
}
$query[] = "))";
return $this->where_raw(join($query, ' '), $data);
}