Как нормализовать дату и время с Serializer в Symfony5 - PullRequest
0 голосов
/ 05 февраля 2020

Я пытаюсь экспортировать данные в CSV с Serializer. У меня есть поле даты и времени в моей таблице. Как я могу конвертировать эту дату в д / м / г?

    public function csvExport(ComplaintRepository $repo)
    {
        $serializer = new Serializer([new ObjectNormalizer()], [new CsvEncoder()]);

        $complaints = $repo->findAll();
        $list = $serializer->serialize($complaints, 'csv', [AbstractNormalizer::IGNORED_ATTRIBUTES => ['id', 'registrationdate', 'gdpr', 'langvis', 'department', 'status', 'slug']]);

        echo $list;        

        $response = new Response();
        $response->headers->set('Content-Type', 'text/csv');
        //it's gonna output in a testing.csv file
        $response->headers->set('Content-Disposition', 'attachment; filename="test.csv"');

        return $response;
    }

1 Ответ

0 голосов
/ 05 февраля 2020

Пока вы используете поле datetime в вашей сущности, вы можете добавить DateTimeNormalizer к вашему Serializer для обработки, например:

 $serializer = new Serializer(
     [
         new DateTimeNormalizer([DateTimeNormalizer::FORMAT_KEY => 'd/m/Y']),
         new ObjectNormalizer(),
     ],
     [new CsvEncoder()]
 ); 
...