我有一个控制器来获取json数据并从数据库中选择一个值,我的问题是,我得到de json数据但是当我尝试选择数据库值时,我总是得到[]
。
这是我的控制器代码。
public function stockAction(Request $request){
$em = $this->getDoctrine()->getManager();
.
.
.
if($request->isXmlHttpRequest()){
$data = $request->getContent();
$repository = $this->getDoctrine()
->getRepository('AppBundle:Objeto');
$query = $repository->createQueryBuilder('p')
->where('p.reffabrica = :code')
->setParameter('code', $data)
->getQuery();
$resultado = $query->getResult();
return new JsonResponse(json_encode($resultado));
}
}
编辑:
使用此代码解决:
if($request->isXmlHttpRequest()){
$data = $request->getContent();
$code = "'" . $data . "'";
$repository = $this->getDoctrine()
->getRepository('AppBundle:Objeto');
$query = $repository->createQueryBuilder('p')
->where('p.reffabrica = ' . $code)
->getQuery();
$resultado = $query->getArrayResult();
return new JsonResponse($resultado);
}
答案 0 :(得分:0)
你应该转储$ resultado以确保。在任何情况下,这一行都是错误的
return new JsonResponse(json_encode($resultado));
json_encode参数必须是数组:
return new JsonResponse($resultado);