如何在查询Eloquent中指定具有关系的条件



我有两个表:

文章

id | title | category_id | created_at | updated_at|

和类别

id | name | descriptions | created_at | updated_at|

关系:类别hasMany-> articles和文章belongsTo -> category

如何简单地使查询类似于:

public functions getArticles ($category) { 
   $articles = Articles::where('category', '=', $category);
}

在文档中存在Id为的示例(http://laravel.com/docs/4.2/eloquent#one-很多),但我想选择文章,知道名称类别。

查询中如何用关系指定条件?

如果有这样的方法,请帮帮我。谢谢;)

您可以使用whereHas方法。类似:

$articles = Articles::whereHas('category', function($query)use($category){
    $query->where('name', $category->name);
});

我想这应该行得通。或者,您可以创建一个scope并加入categories表,然后通过它进行检查。

最新更新