如何为 m:n 关系上的特定 'n' select 个实例?
How to select instances for specific 'n' on m:n relationships?
我有两个模型 Teacher 和 Category。这两者具有多对多关系。
我想得到那些类别等于 "OLevels" 的老师。 eloquent 的哪种方法用于它,或者有其他方法可以得到它吗?
有没有办法得到它:
$teachers = Teacher::where('category', '=', 'OLevels')->get();
你可以使用 whereHas
:
$category = 'OLevels';
$teachers = Teacher::whereHas('category', function($q) use ($category){
$q->where('name', $category);
})->get();
您可以使用带有约束的预加载
$teachers = Teacher::with(['category' => function($query)
{
$query->where('category', '=', 'OLevels');
}])->get();
documentation 中的更多信息。
我有两个模型 Teacher 和 Category。这两者具有多对多关系。
我想得到那些类别等于 "OLevels" 的老师。 eloquent 的哪种方法用于它,或者有其他方法可以得到它吗?
有没有办法得到它:
$teachers = Teacher::where('category', '=', 'OLevels')->get();
你可以使用 whereHas
:
$category = 'OLevels';
$teachers = Teacher::whereHas('category', function($q) use ($category){
$q->where('name', $category);
})->get();
您可以使用带有约束的预加载
$teachers = Teacher::with(['category' => function($query)
{
$query->where('category', '=', 'OLevels');
}])->get();
documentation 中的更多信息。