2013-11-25 31 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

你是對的!我誤讀:) –