Php 2域上的拉维关系
我有一场足球比赛,有一支主队和一支客队 我与Game.php的关系如下:Php 2域上的拉维关系,php,laravel,eloquent,Php,Laravel,Eloquent,我有一场足球比赛,有一支主队和一支客队 我与Game.php的关系如下: public function hometeam() { return $this->hasOne(Team::class, 'id', 'home_team_id'); } public function awayteam() { return $this->hasOne(Team::class, 'id', 'away_team_id'); } 现在我想看看每个球队属于哪一场比赛 我在T
public function hometeam()
{
return $this->hasOne(Team::class, 'id', 'home_team_id');
}
public function awayteam()
{
return $this->hasOne(Team::class, 'id', 'away_team_id');
}
现在我想看看每个球队属于哪一场比赛
我在Team.php中尝试了以下操作,但返回null
客队当然也一样
我错过什么了吗
谢谢大家! 你的比赛桌上不应该有两个球队桌外键吗,一个主队,一个客队?(一对多关系) 这样,你就可以做一些像
$team->homemagames
和$team->awayGames
这样的事情,你就可以得到特定球队的所有主场和客场比赛
另外,团队模型应该有2xreturn$this->hasMany(Game::class)代码>方法,而游戏模型应该有2个x返回$this->belongsTo(团队::类)代码>
更新:
Team.php模型
class Team extends Model
{
public function homeGames()
{
return $this->hasMany(Game::class, 'id', 'home_team_id');
}
public function awayGames()
{
return $this->hasMany(Game::class, 'id', 'away_team_id');
}
}
class Game extends Model
{
public function homeTeam()
{
return $this->belongsTo(Team::class, 'home_team_id', 'id');
}
public function awayTeam()
{
return $this->belongsTo(Team::class, 'away_team_id', 'id');
}
}
Game.php模型
class Team extends Model
{
public function homeGames()
{
return $this->hasMany(Game::class, 'id', 'home_team_id');
}
public function awayGames()
{
return $this->hasMany(Game::class, 'id', 'away_team_id');
}
}
class Game extends Model
{
public function homeTeam()
{
return $this->belongsTo(Team::class, 'home_team_id', 'id');
}
public function awayTeam()
{
return $this->belongsTo(Team::class, 'away_team_id', 'id');
}
}
你添加了虚拟数据吗?另外,团队模型应该有2xreturn$this->hasMany(Game::class)代码>方法,而游戏模型应该有2个x返回$this->belongsTo(团队::类)代码>啊哈,这就是解决方案!:)谢谢,如果你编辑你的答案,我会接受的。我对钥匙的顺序有点困惑。在带有hasMany的Team.php中,应该是->hasMany(Team::class,'home\u Team\u id','id')还是先是'id',然后是'home\u Team\u id',谢谢!是的,应该是这样的。我忘了提到外键了。你能把完整的代码发出去吗?所以我可以接受这个答案:)谢谢!