我正在嘗試從 Symfony 3.4 中的控制器返回 JSON 響應(yīng)這是我的控制器:/** * @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":[{}]} 作為響應(yīng)我希望它可以顯示為 ['result' => 'ok', 'ret' => txtName, txtMes ]
1 回答

呼喚遠(yuǎn)方
TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超11個(gè)贊
您應(yīng)該使用$message而不是$entityManager評(píng)論中提到的,但將實(shí)體傳遞給new JsonResponse()將僅包含public消息實(shí)體中的屬性,它們通常都是private. 有很多方法可以做到這一點(diǎn),但最簡(jiǎn)單的方法是使用實(shí)體的 getter 準(zhǔn)確插入您想要的內(nèi)容:
return new JsonResponse([
'result' => 'ok',
'ret' => [
'txtName' => $message->getTxtName(),
'txtMes ' => $message->getTxtMes(),
],
]);
- 1 回答
- 0 關(guān)注
- 192 瀏覽
添加回答
舉報(bào)
0/150
提交
取消