如何在查询Eloquent中指定条件与关系

时间:2015-03-23 12:22:26

标签: laravel-4 eloquent

我有两张桌子:

制品

id |标题| category_id | created_at | updated_at |

和类别

id |名字|描述| 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-to-many)的示例,但我想要选择文章,知道名称类别。

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

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

1 个答案:

答案 0 :(得分:1)

您可以使用whereHas方法。像:

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

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