首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >两把外键,如何用拉拉雄辩作图?

问两把外键,如何用拉拉雄辩作图?
EN

Stack Overflow用户
提问于 2014-07-31 14:36:04
回答 2查看 11.2K关注 0票数 11

我在MySQL中有两个表,其中第一个称为用户,第二个称为游戏。表结构如下。

用户

  • id (小学)
  • 电子邮件
  • 密码
  • real_name

游戏

  • id (小学)
  • user_one_id (外国)
  • user_one_score
  • user_two_id (外国)
  • user_two_score

我的赌桌上放着两个对外关系给两个用户。

我的问题是如何为这个表结构建立模型关系??根据the laravel documentation,我应该在模型内建立一个函数,并将它与它的关系绑定。

例如

代码语言:javascript
复制
public function users()
{
    $this->belongsTo('game');
}

然而,我似乎在文档中找不到任何东西来告诉我如何处理两个外键。就像我上面的桌子结构一样。

我希望你能在来这里的路上帮我。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-31 14:43:33

A迁移:

代码语言:javascript
复制
$table->integer('player1')->unsigned();
$table->foreign('player1')->references('id')->on('users')->onDelete('cascade');
$table->integer('player2')->unsigned();
$table->foreign('player2')->references('id')->on('users')->onDelete('cascade');

和一个模型:

代码语言:javascript
复制
public function player1()
{
    $this->belongsTo('Game', 'player1');
}
public function player2()
{
    $this->belongsTo('Game', 'player2');
}

编辑按照用户的建议将“游戏”改为“游戏”。

票数 15
EN

Stack Overflow用户

发布于 2014-07-31 14:44:39

不幸的是,这种设置的方式不太可能在当前上下文中工作。您可能在belongsTo方法上有更多的运气,但这同样只支持一种关系。

您可以实现一个user1() belongsTo,一个user2() belongsTo,最后只声明一个非雄辩的函数来返回这两个函数(类似于$users =array($this->user1 1(),$this->user1 2())

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25061687

复制
相关文章

相似问题

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