首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多列上的Laravel hasMany关系

多列上的Laravel hasMany关系
EN

Stack Overflow用户
提问于 2016-01-15 10:05:34
回答 1查看 2.4K关注 0票数 1

我试图在一个已经存在的数据库上设置Laravel关系,而我无法更改该数据库。

在这个数据库中,有一个名为Teams的表,列为:

  • Teamleader_1
  • Teamleader_2

此外,还有一个名为Users的表,其中有一列:

  • User_id

这些表之间的关系如下:Users.User_id = Teams.Teamleader_1Users.User_id = Teams.Teamleader 2

如何在两个teamleader列上在用户和团队之间建立hasMany关系?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-15 10:16:42

首先,您需要在团队模型中定义两个关系:

代码语言:javascript
复制
public function teamleader1() {
  return $this->belongsTo(User::class, 'Teamleader_1', 'User_id');
}

public function teamleader2() {
  return $this->belongsTo(User::class, 'Teamleader_2', 'User_id');
}

一旦您拥有了它,定义一个访问器,它将从这些关系中的任何一个获得团队领导人:

代码语言:javascript
复制
public function getTeamleaderAttribute() {
  return $this->teamleader1 ?: $this->teamleader2;
}

一旦您拥有了它,您应该能够通过调用:

代码语言:javascript
复制
$teamLeader = $team->teamleader;
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34808626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档