Symfony 2控制器获取JSON数据,但数据库查询不获取值
问题描述:
我有一个控制器来获取JSON数据,并从数据库中选择一个值,我的问题是,我得到DEJSON数据,但当我尝试选择数据库价值我总是得到[]
作为结果。Symfony 2控制器获取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);
}
答
您应该转储$ resultado是肯定的。在任何情况下,这条线是错误的
return new JsonResponse(json_encode($resultado));
json_encode参数必须是一个数组:
return new JsonResponse($resultado);
+0
现在我的查询获取参数,我更改了createquerybuilder的格式。 ('p.reffabrica ='。$ codi) - > getQuery();' 现在查询有正确的格式,但变量var('p.reffabrica ='。$ codi) '$ query = $ repository-> $ resultado获取一个空对象。任何人都知道问题在哪里? – Wasitxu
是什么'$ data'包含...? – COil
$ data包含一个字符串 – Wasitxu
它的值是什么? – COil