2013-04-04 43 views
2

我的“用户”模型与“图像”模型具有多种关系。将多个Laravel雄辩模型归还为JSON

只返回用户就像“return Response :: eloquent($ user);”一样简单。我想返回一个JSON数组 {user:{id:...},图像:[{id:...},{id:...}}} 或者,也许更好, {id:...,images :[{id:...},{id:...}}}

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

回答

10

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

class Users extends Eloquent { 

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

} 

class Image extends Eloquent { 

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

} 

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

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

    //or 

    return User::with('images')->find($userId)->toJson(); 
}); 
+2

帮助,谢谢。 @Eric_WVGG,检查答案,如果它适合你,接受它。 – Rolice 2013-11-10 09:42:59