PartKeepr\ExportBundle\EventListener\AbstractResponderViewListener::flatten PHP Method

flatten() protected method

Flattens the given data. Uses the property accessor to retrieve nested data.
protected flatten ( $data, $mappings ) : array
$data array The data, typically an array of entities
$mappings array The mappings as array, e.g. [ "name", "description", "storageLocation.name" ]
return array
    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;
    }
AbstractResponderViewListener