我有一个看起来像这样的灯具表;
我还有一个结果表,用于存储灯具的结果以及它们何时进入。
我正在努力的是两者之间的关系,以及在我需要时如何称呼这种关系。
基本上,每个夹具包含两个结果;一个user_id_result和一个opponent_id_result(两者都引用users表中的id)
我在Fixture模型中做了类似的事情;
public function userResult()
{
return $this->hasMany('App\Models\Result', 'league_id', 'league_id')
->where('user_id', $this->user_id)
->where('gameweek', $this->gameweek);
}
而且,虽然这很有效,但我认为它不是很正确,并且在通过急切加载调用时也不起作用。
谢谢你们。
答案 0 :(得分:0)
这似乎不是一个好的数据库结构,可能是问题的根源所在。两个表都有3列是相同的。不仅效率低下而且令人困惑。
乍一看,在结果表{3}},user_id
和gameweek
中删除3列会更有意义,并用league_id
替换它们。什么会处理你的关系。 fixture_id
。
我不知道这里存储了什么,但是可以通过将fixtures.id = results.fixture_id
表全部放在一起并将results
列添加到results
上来进一步简化它表。让它为null,当游戏完成后,更新该列。