我明显使用Laravel和雄辩
我有4个模型和表格
1 => city
2 => location
3 => venue
4 => tag
现在跟我来描述关系
城市有多个位置,位置属于城市。
地点属于地点,地点有地点。
地点属于许多标记,标记属于许多地点(多对多关系)
以下是我想要执行的查询
给定一个城市,我如何根据标签过滤该城市的场地
例如:对于奥斯汀市,我想要获得标记为#34; special"的场地
另外,为执行此任务执行了多少查询。使用此数据库模型执行此类任务是否有效。
我试着尽可能明确,但如果有些部分对你来说模糊不清,请不要犹豫。
感谢
答案 0 :(得分:0)
下面的雄辩查询根据关系过滤结果:
$venues = Venue::whereHas('location', function($query) use ($city) {
$query->where('city_id',$city->id);
})->get();