protected function _on(array $constraints, $aliasFrom, $aliasTo, $mapAlias = array())
{
$result = array();
foreach ($constraints as $key => $value) {
$isAliasable = !is_numeric($key) && !isset($this->_constraintTypes[$key]) && !isset($this->_operators[$key]);
if ($isAliasable) {
$key = $this->_aliasing($key, $aliasFrom, $mapAlias);
}
if (is_string($value)) {
$result[$key] = $this->_aliasing($value, $aliasTo, $mapAlias);
} elseif (is_array($value)) {
$result[$key] = $this->_on($value, $aliasFrom, $aliasTo, $mapAlias);
} else {
$result[$key] = $value;
}
}
return $result;
}