如何在m:n关系中选择特定“n”的实例?

时间:2015-03-11 08:19:55

标签: laravel eloquent laravel-5

我有两个模型教师和类别。这两者有很多关系。

我想让那些有一个类别的教师等于" OLevels"。哪种口才的方法用于它还是有其他方法可以得到它?

无论如何都得到它:

$teachers = Teacher::where('category', '=', 'OLevels')->get();

2 个答案:

答案 0 :(得分:1)

您可以使用whereHas

$category = 'OLevels';
$teachers = Teacher::whereHas('category', function($q) use ($category){
    $q->where('name', $category);
})->get();

答案 1 :(得分:1)

您可以使用带约束的预先加载

$teachers = Teacher::with(['category' => function($query)
{
    $query->where('category', '=', 'OLevels');

}])->get();

documentation

中的更多信息