我正在尝试从 Symfony 3.4 中的控制器返回 JSON 响应这是我的控制器:/** * @Route("/message/board/post", name = "message_post") * @Method("POST") */ public function postMeg(Request $request) { $entityManager = $this->getDoctrine()->getEntityManager(); $message = new message($request->request->get("txtName")); $message->setMes($request->request->get("txtMes")); $entityManager->persist($message); $entityManager->flush(); return new JsonResponse(['result' => 'ok', 'ret' => array($entityManager)]); }但是我在浏览器中得到 {"result":"ok","ret":[{}]} 作为响应我希望它可以显示为 ['result' => 'ok', 'ret' => txtName, txtMes ]
1 回答

呼唤远方
TA贡献1856条经验 获得超11个赞
您应该使用$message而不是$entityManager评论中提到的,但将实体传递给new JsonResponse()将仅包含public消息实体中的属性,它们通常都是private. 有很多方法可以做到这一点,但最简单的方法是使用实体的 getter 准确插入您想要的内容:
return new JsonResponse([
'result' => 'ok',
'ret' => [
'txtName' => $message->getTxtName(),
'txtMes ' => $message->getTxtMes(),
],
]);
- 1 回答
- 0 关注
- 170 浏览
添加回答
举报
0/150
提交
取消