以下是模型的简化视图,并且根据db
的列。Route
id
City
id
name
RouteCityPivot
id
city_id
route_id
一条路线只能有两个相关的城市。假设他们是柏林和慕尼黑。我如何找到城市名称的路线?
此代码可以找到几个路由,至少有一个城市的一个:
$route = Route::whereHas('cities', function ($q) use ($from, $to){
q->whereIn('name', [$from, $to]);
})->get();
我如何找到给定城市的完全2 的路线?谢谢!
根据同一问题
解决方案是
$route = Route::whereHas('cities', function ($q) use ($cities){
$q->whereIn('name', $cities);
}, '=', count($cities))->get();