【发布时间】:2018-03-04 01:09:15
【问题描述】:
我正在使用 Eloquent ORM,并试图根据锦标赛中的胜利找出对俱乐部来说最成功的运动是什么。
我有表clubs、tournaments、sports 和tournament_results,每个表都由一个模型(Club、Tournament、Sports、TournamentResult)表示,并带有关系。我表中的相关列:clubs、tournaments、sports 每个包含id、nametournament_results:id、tournament、club、@ 987654338@。
关系:Club 有 HasMany 和 ClubResultsTournamentResult 有 BelongsTo 和 Tournament 和 BelongsTo 和 ClubTournament 有 @9876 @ 和 TournamentResults 和 BelongsTo 和 SportSport 有 HasMany 和 Tournament
关于获得我想要的结果的想法是这样的:Club -> TournamentResults -> where place = 1 -> Tournaments -> get n (e.g. 3) most common sports in this set
到目前为止我所拥有的是:
$club = Club::findOrFail($id);
$club->tournamentResults()->where('place', 1)->with('tournament.sport');
但现在我不知道如何继续。有人可以帮我找到解决方案吗?
【问题讨论】:
-
您能否将关系(BelongsTo、HasMany 等)添加到您的问题中?
-
好的,现在更新了
-
这更像是一个数据库问题。我将从在您的数据库管理软件中构建查询开始,然后从那里开始。可能想对运动名称进行分组,并按胜利总和或其他东西排序。如果没有看到架构,这是一个很难回答的问题。希望对您有所帮助。