将多个Laravel Eloquent模型作为JSON返回

Eri*_*VGG 2 laravel laravel-4

我的"用户"模型与"图像"模型有很多关系.

只返回用户就像"return Response :: eloquent($ user);"一样简单.我想要返回一个{user:{id:...}的JSON数组,images:[{id:...},{id:...}]},或者更好,{id:...,images:[{ ID:...},{ID:...}]}

安排和运送这些模型的最佳方法是什么?我是不是该

Bea*_*eau 10

您需要做的第一件事是确保您的模型设置正确:

class Users extends Eloquent {

    public function images()
    {
        return $this->hasMany('Image');
    }

}

class Image extends Eloquent {

    public function user()
    {
        return $this->belongsTo('User');
    }

}
Run Code Online (Sandbox Code Playgroud)

然后在你的路线你应该能够做到这样的事情:

Route::any('userinfo/{$userId}', function($userId)
{
    return Response::json(User::with('images')->find($userId));

    //or

    return User::with('images')->find($userId)->toJson();
});
Run Code Online (Sandbox Code Playgroud)

  • 这有帮助,谢谢.@Eric_WVGG,检查答案,如果它适合你,接受它. (2认同)