Переименовать поле перед экспортом в .csv с помощью сериализатора (Symfony 5) - PullRequest
0 голосов
/ 26 апреля 2020

У меня есть эта функция для экспорта таблицы в .csv (Symfony 5). Я использую Symfony \ Serializer.

Работает нормально, но ... Как мне переименовать поле перед экспортом, чтобы получить хороший .csv?

/**
 * @Route("/admin/signatories/export/", name="signatory_export")
 * 
 * @return Response
 */
public function csvExport(SignatoriesRepository $repo)
{
    $serializer = new Serializer(
        [
            //Convert normalize datetime 
            new DateTimeNormalizer([DateTimeNormalizer::FORMAT_KEY => 'd/m/Y']),
            new ObjectNormalizer()
        ], 
        [
            new CsvEncoder()
        ]
    );

    $sig = $repo->findAll();

    $list = $serializer->serialize(
        $sig, 
        'csv', 
        [
            //Ignore some fields
            AbstractNormalizer::IGNORED_ATTRIBUTES => [
                'id', 
                'gdpr', 
                'slug',
            ]
        ]
    );

    $response = new Response($list);
    $response->headers->set('Content-Type', 'text/csv');
    $response->headers->set('Content-Disposition', 'attachment; filename="my_export.csv"');

    return $response;
}
...