我试图通过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时,我可以看到页面上显示“{}”(基本上是一个空白数组)。
我该如何解决这个问题? 谢谢
答案 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);
}
简单,有效!