如何用eloquent查询这种关系

时间:2015-09-02 17:21:47

标签: laravel laravel-5 eloquent

我明显使用Laravel和雄辩 我有4个模型和表格 1 => city 2 => location 3 => venue 4 => tag

现在跟我来描述关系 城市有多个位置位置属于城市
地点属于地点地点地点
地点属于许多标记标记属于许多地点(多对多关系)

以下是我想要执行的查询 给定一个城市,我如何根据标签过滤该城市的场地 例如:对于奥斯汀市,我想要获得标记为#34; special"的场地
另外,为执行此任务执行了多少查询。使用此数据库模型执行此类任务是否有效。

我试着尽可能明确,但如果有些部分对你来说模糊不清,请不要犹豫。 感谢

1 个答案:

答案 0 :(得分:0)

下面的雄辩查询根据关系过滤结果:
$venues = Venue::whereHas('location', function($query) use ($city) { $query->where('city_id',$city->id); })->get();