protected function flatten($data, $mappings)
{
$accessor = PropertyAccess::createPropertyAccessor();
$finalData = [];
foreach ($data as $key => $row) {
foreach ($mappings as $mapping) {
try {
$finalData[$key][$mapping] = $accessor->getValue($row, $mapping);
if (is_object($finalData[$key][$mapping])) {
if ($finalData[$key][$mapping] instanceof \DateTime) {
$finalData[$key][$mapping] = $finalData[$key][$mapping]->format(\DateTime::W3C);
}
}
} catch (\Exception $e) {
}
}
}
return $finalData;
}