Symfony 2控制器获取json数据但db查询没有获取值

时间:2015-10-07 09:21:32

标签: symfony

我有一个控制器来获取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);
    }

1 个答案:

答案 0 :(得分:0)

你应该转储$ resultado以确保。在任何情况下,这一行都是错误的

return new JsonResponse(json_encode($resultado));

json_encode参数必须是数组:

return new JsonResponse($resultado);