2013-11-28 108 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

相关问题