Symfony:无法通过jsonresponse获取表中的所有行

时间:2016-05-09 06:44:05

标签: php jquery ajax symfony

我试图通过jsonresponse将我的“products”表中的所有记录提取到我的ajax脚本中,该脚本可以在我的twig模板中进一步加载,但截至目前,json返回的值为null,

以下是我的控制人员:

public function showAction($slug){
    $em = $this->getDoctrine()->getManager();
        if($slug == 'prod'){
            $repo = $em->getRepository('SystemBundle:Products');
            $q = $repo->createQueryBuilder('u');
            return new JsonResponse($q);
        }

}

以下是我的ajax功能:

<script>
    function fetchprod() {
        $.ajax({
            url: "/show/prod",
            dataType: "json"
        }).success(function(data){
            $('#contaiber').html(JSON.stringify(data.sum));
        });
    }
    fetchprod()
    setInterval(function () {fetchprod()}, 3000);
</script>

这是我的标记(只是一个容器div来查看返回的内容):

<div id="container">

</div>

我没有在div中获取任何内容,但是当我输入url时,我可以看到页面上显示“{}”(基本上是一个空白数组)。

我该如何解决这个问题? 谢谢

3 个答案:

答案 0 :(得分:1)

试试这个

UPDATE t, t as t2
SET t.id = t2.id, t2.id = t.id
WHERE t.id = 1 AND t2.id = 2

答案 1 :(得分:0)

$result = $q->getQuery()->getOneOrNullResult(); to get one record $result = $q->getQuery()->getResult(); to get all record 可能是你需要先得到结果然后通过json传回它。

答案 2 :(得分:0)

试试这个:

$em = $this->getDoctrine()->getManager();
    if($slug == 'prod'){
        $repo = $em->getRepository('SystemBundle:Products');
        $q = $repo->createQueryBuilder('u')
            ->getQuery()
            ->getArrayResult();
        return new JsonResponse($q);
    }

简单,有效!