[当我尝试使用symfony序列化程序序列化对象时,我得到了一些emty字段(created_at和updated_at)?

问题描述 投票:0回答:1

当我尝试使用symfony序列化程序对给定对象进行序列化时,我得到了一些emty字段日期时间类型有什么问题。

$discussionList = $user->getDiscussions();
        $page = 1;
    $page = $request->get('page');
    $pagination = $paginator->paginate(
        $last_list, /* query NOT result */
        $request->query->getInt('page', $page)/*page number*/,
        $request->query->get('limit', 5)/*limit per page*/);
   $page_number= $pagination->getCurrentPageNumber();
   $item_number_per_page= $pagination->getItemNumberPerPage();
   $number_page= $pagination->getTotalItemCount()/5;
    $normalizer = new ObjectNormalizer($classMetadataFactory);
    $serializer = new Serializer([$normalizer]);
    $data = $serializer->normalize([$pagination,
        array('current page'=>$page_number,
        'item number per page'=>$item_number_per_page,
            'total page' =>$number_page)],
        null, ['groups' => 'discussion']);
    return new JsonResponse($data,200);

这是我在控制器中的代码,返回的响应是这个。

        {
        "id": 15,
        "createdAt": [],
        "updatedAt": [],
        "message": [
            {
                "id": 37,
                "contenu": "hello again from user 68",
                "created_at": [],
                "updated_at": [],
                "etat": 0,
                "user": {
                    "id": 68,
                    "first_name": "auxiliaire",
                    "second_name": "second_auxiliaire",
                    "profil_photo": "ae2d92cf6bf904f13153c3cc38fa1bbd.jpg"
                }
            }
        ]
php json api symfony4 serializer
1个回答
0
投票

我找到了解决方案,也许有一天,另一个人发现了相同的问题,这就是为什么我分享解决方案的原因

    $normalizer = new ObjectNormalizer($classMetadataFactory);
$serializer = new Serializer([$normalizer]);

只需将其替换为这两个木质。

        $normalizer = new ObjectNormalizer($classMetadataFactory, null, null);
    $serializer = new Serializer([new DateTimeNormalizer(), $normalizer]);
© www.soinside.com 2019 - 2024. All rights reserved.