如何在Laravel中返回复合JSON对象?

时间:2015-12-12 04:54:07

标签: json api laravel

我正在阅读Laravel文档,不幸的是它并没有告诉我如何制作复合JSON对象。

http://laravel.com/docs/master/eloquent-serialization

所以现在我有两个实体:User和Post,我想在JSON对象中返回一个JSON对象,其中包含User作为父(JSON)和Posts作为User(JSON)的子节点。用户和帖子之间存在一对多的关系。

以下是我想要更改的控制器方法:

public function show($user)
{
    return $user;
}

2 个答案:

答案 0 :(得分:1)

您只需要在查询用户时获取关系:

$user = User::find(123)->with('posts')->get();

然后返回JSON响应。

return response()->json($user);

快乐的编码!

答案 1 :(得分:0)

除了Rubens Mariuzzo的回答,如果你还没有这样做,你首先需要在模型中声明关系

file=$3

if [ "$1" == "" ] || [ "$2" == "" ] || [ $file is not a file??? ]
then 
echo "use: notEmpty notEmpty file"
fi

然后你就可以像Rubens Mariuzzo所说的那样做了

# User Model public function posts() { return $this->hasMany('\App\Post'); }