public function addFields($fields = [], $defaults = [])
{
foreach ($fields as $field => $alias) {
if (is_array($alias)) {
$d = array_merge($defaults, $alias);
if (!isset($alias[0])) {
throw Exception('Incorrect definition for addFields. Field name must be specified', ['field' => $field, 'alias' => $alias]);
}
$alias = $alias[0];
} else {
$d = $defaults;
}
if (is_numeric($field)) {
$field = $alias;
}
$d[0] = $field;
$this->addField($d, $alias);
}
return $this;
}