我为玩家创建系统。
我有以下3表:
matches:
- id
- win_points
- draw_points
- lose_points
aways:
- id
- match_id
- user_id
- score
homes:
- id
- match_id
- user_id
- score
现在我的关系有些问题。
我可以得到用户,得到他的离开,住所,但是我不能得到有关比赛的信息。
我正在考虑对away_match和home_match进行数据透视表,但是我不知道这是一个好主意。
最佳答案
您不需要任何枢轴。
在Models Away and Home中,您可以添加以下功能:
public function match(){
return $this->belongsTo(Match::class);
}
这将返回客场/主场的比赛。与documentation中不同,我在这里使用Match :: class,它仅在将命名空间设置为App \ Models而不是App时才有效。
从用户那里,您现在可以使用以下代码进行匹配:
$match = $user->homes->find($homeId)->match;
(您说过您的用户可以出门在外,所以我假设您已经在用户模型中实现了类似的方法
public function homes(){
return $this->hasMany(Home::class);
}
关于php - Laravel创建表和关系,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40865920/