protected function _rowMapper($results, $locale)
{
return $results->map(function ($row) use($locale) {
if ($row === null) {
return $row;
}
$hydrated = !is_array($row);
foreach ($this->_config['fields'] as $field) {
$name = $field . '_translation';
$translation = isset($row[$name]) ? $row[$name] : null;
if ($translation === null || $translation === false) {
unset($row[$name]);
continue;
}
$content = isset($translation['content']) ? $translation['content'] : null;
if ($content !== null) {
$row[$field] = $content;
}
unset($row[$name]);
}
$row['_locale'] = $locale;
if ($hydrated) {
$row->clean();
}
return $row;
});
}