我在Laravel中创建了一些扩展Eloquent类的模型。在这些模型中,我添加了关系,如下例所示:
//in the User class
public function group()
{
return $this->belongsTo('Group');
}
通过这种方式,我能够以这种简单的方式检索特定用户的组对象:
User::find(1)->group
这很好。我需要获取整个表并以json格式显示它,所以我做
User::all()->toJson()
我获取整个表,但是我有“group_id”列而不是组对象。有没有一种简单的方法在JSON中包含相关对象?我知道我可以在集合中循环并手动添加对象,但我认为这应该是不好的练习,因为我需要做很多查询,当这个问题可以使用带有连接的单个查询来解决。有什么想法吗?
答案 0 :(得分:8)
我认为急切加载是您正在寻找的:http://laravel.com/docs/eloquent#eager-loading
User::with('group')->get()->toJson()
修改:从get()
all()
的来电
答案 1 :(得分:0)
Soved!
User::with('group')->get()->toJson()