我试图在一个已经存在的数据库上设置Laravel关系,而我无法更改该数据库。
在这个数据库中,有一个名为Teams的表,列为:
此外,还有一个名为Users的表,其中有一列:
这些表之间的关系如下:Users.User_id = Teams.Teamleader_1或Users.User_id = Teams.Teamleader 2
如何在两个teamleader列上在用户和团队之间建立hasMany关系?
发布于 2016-01-15 10:16:42
首先,您需要在团队模型中定义两个关系:
public function teamleader1() {
return $this->belongsTo(User::class, 'Teamleader_1', 'User_id');
}
public function teamleader2() {
return $this->belongsTo(User::class, 'Teamleader_2', 'User_id');
}一旦您拥有了它,定义一个访问器,它将从这些关系中的任何一个获得团队领导人:
public function getTeamleaderAttribute() {
return $this->teamleader1 ?: $this->teamleader2;
}一旦您拥有了它,您应该能够通过调用:
$teamLeader = $team->teamleader;https://stackoverflow.com/questions/34808626
复制相似问题