2013-11-28 50 views
0

我得到了產品文章。一篇文章屬於產品,所以我的產品類中有hasMany-Relationship,我的文章類中有belongsTo關係。Laravel 4/Eloquent ORM:只有具有關係對象的對象

好吧,現在我可以抓住某個產品的所有文章。 但我需要的是以下內容:

我只想顯示至少有一篇文章的產品。我必須使用數據庫查詢,或者我可以使用雄辯機制嗎?

在此先感謝。

問候

回答

1

看看範圍http://laravel.com/docs/eloquent#query-scopes對於可重用的,其中的方法。這將允許你這樣做:

Products::hasArticles()->get(); 

如果你想上的關係執行這一這裏是http://laravel.com/docs/eloquent#relationships摘錄:

如果您需要添加更多的限制,其意見是檢索 ,您可致電評論方法和繼續鏈 條件:

$comments = Post::find(1)->comments()->where('title', '=', 'foo')->first(); 

所以而不是調用Post::find(1)->comments您使用完整的方法comments()來獲得查詢,這將允許您添加自己的約束(即使在上述鏈接中定義的範圍),並通過first()get()等檢索數據等...

+0

我在想複雜。範圍的功能幫了我很多,我只需要一個帶查詢的sql查詢。謝謝你的回答! – pyran1208

相關問題