2013-11-25 98 views
0

我在Laravel中创建了一些扩展Eloquent类的模型。以这种方式,我能够检索组对象为特定用户在这种简单的方式用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

请接受您的工作答案,方法是单击旁边的空心复选标记,而不是更改问题标题。有关更多详细信息,请参见[FAQ](http://stackoverflow.com/help)。 –

回答

5

我相信预先加载是你在找什么:http://laravel.com/docs/eloquent#eager-loading

User::with('group')->get()->toJson()

编辑:固定从all()

+0

非常感谢,但方法都不存在。它适用于User :: with('group') - > get() - > toJson() – salgua

0

Soved调用get()

User::with('group')->get()->toJson() 
+1

你应该接受@Nathan Loding的答案,而不是自己发布相同的答案 –

+0

@Albin:你在说什么? Nathan的代码与我的代码不同,它不起作用!请仔细阅读代码... – salgua

+0

你是对的!我误读:) –