public function groupBy($groupBy)
{
$r = '';
foreach (explode(',', $groupBy) as $item) {
$parts = explode(' ', trim($item));
if (count($parts) === 1) {
$by = trim($parts[0]);
} else {
$r = $groupBy;
break;
}
if (preg_match('#^[a-z_][a-z0-9_.]*#i', $by) === 1) {
$r .= preg_replace('#[a-z_][a-z0-9_]*#i', '[\\0]', $by) . ', ';
}
}
$this->_group = substr($r, 0, -2);
return $this;
}