【发布时间】:2014-03-09 03:25:04
【问题描述】:
我们如何在 json 中返回多个数组。 假设我们在 Laravel eloquent 中得到以下响应:
$user= User::all();
$post= Post::all();
$comment= Comment:all();
现在我想以包含这些数据的 json 格式返回响应:
Response::json(array('user'=>$user,'post'=>$post,'comment'=>$comment));
使用上述方法返回空值。任何帮助将不胜感激
对不起各位。我找到了解决方案。我传递的数据已经是对象形式。因此我需要将它转换成一个数组然后传递它。
$user= User::all()->toArray();
$post= Post::all()->toArray();
$comment= Comment:all()->toArray();
现在它可以工作了!
【问题讨论】:
-
看起来不错,你在哪里看到Null? JSON 的常见问题是如果方法中有任何“回声”,请仔细检查是否有任何调试消息。
-
响应类似于 {"user":{},"post":{},"comment":{}}。它不为空,但响应没有显示任何内容。当我简单地回显这些结果时,我得到了输出。
-
调试你的数据,尝试用一个简单的数组('one','two')切换 $users。在
Response::...之前尝试print_r($post);die;。 -
对不起我的愚蠢。我传递的数据已经是对象形式,首先我需要将它转换为数组,然后在json_encode中传递。无论如何感谢您的关注。干杯!