当我尝试使用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"
}
}
]
我找到了解决方案,也许有一天,另一个人发现了相同的问题,这就是为什么我分享解决方案的原因
$normalizer = new ObjectNormalizer($classMetadataFactory);
$serializer = new Serializer([$normalizer]);
只需将其替换为这两个木质。
$normalizer = new ObjectNormalizer($classMetadataFactory, null, null);
$serializer = new Serializer([new DateTimeNormalizer(), $normalizer]);