我在 MySQL中有两个表,第一个叫做用户,第二个叫做游戏.表结构如下.

用户

> id(主要)
>电子邮件
>密码
> real_name

游戏

> id(主要)
> user_one_id(国外)
> user_one_score
> user_two_id(国外)
> user_two_score

我的游戏桌与两个用户持有两个外交关系.

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

例如

public function users()
{
    $this->belongsTo('game');
}

但是我似乎无法在文档中找到任何告诉我如何处理两个外键的内容.就像我上面的表结构一样.

我希望你能在这里帮助我.

谢谢

迁移:
$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');

一个模型:

public function player1()
{
    $this->belongsTo('Game','player1');
}
public function player2()
{
    $this->belongsTo('Game','player2');
}

编辑用户deczo建议将“游戏”改为“游戏”.

php – 两个外键,如何映射laravel雄辩的更多相关文章

  1. android – greenDAO不会在表中生成FOREIGN KEY(…)约束

    当我创建如下所示的双向1:n关系时,生成器不会在表上使用任何FOREIGNKEY(…)约束.这是正常吗?是否应该在表中生成FOREIGNKEY(…)约束,还是仅在运行时通过代码强制执行?

  2. 使用spring jpa 如何给外键赋值

    这篇文章主要介绍了使用spring jpa 如何给外键赋值,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. jpa使用注解生成表时无外键问题及解决

    这篇文章主要介绍了jpa使用注解生成表时无外键问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  4. Django中外键使用总结

    本文主要介绍了Django中外键使用总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  5. php – laravel errno 150外键约束形成错误

    有人可以帮我解决这个问题吗?有3个表有2个外键:运行迁移后出错:对于外键,引用和引用字段必须具有完全相同的数据类型.您可以在用户和公司中创建id字段作为有符号整数.但是,您将两个外键都创建为无符号整数,因此密钥的创建失败.您需要将unsigned子句添加到id字段定义,或者从外键字段中删除unsigned子句.

  6. 你不会使用外键的原因? [php MySQL]

    如果你想要一个例子,他们基本上有调查,一个调查有一系列的问题.一个问题是调查的一部分,因此它将其列为专栏.这几乎是它,但是它随处可见.我很感激任何洞察力:)原始开发人员可能选择使用MyISAM或任何其他不支持外键约束的存储引擎.

  7. 单元测试 – 在PHPUnit / DBUnit中设置外键约束

    我正在开发用于测试模型功能的单元测试.我使用PHPPDO与DBUnit1.1.2和PHPUnit3.6.10,我的数据集是一个yml文件.在数据库中加载灯具时,我需要关闭外键检查.之后,我需要再次打开它,以便我可以在这些约束下运行我的测试.以下是我广义Testcase文件中的代码片段,我将为我开发的任何新的测试用例添加代码.当我在这些设置下运行测试用例时,我发现$pdo->exec()不执行.我的做法有什么问题?有更好的选择吗?改变你的功能setUp这样

  8. php – SQLSTATE [23000]:完整性约束违规:1452无法添加或更新子行:外键约束失败 – Laravel

    ))表用户表位置迁移用户迁移地点模型用户型号位置调节器我似乎无法找到我做错的事.显然外键有问题.用户行需要对有效位置的引用.在保存用户之前,该位置必须可用.因此,首先保存位置,然后保存用户并取消注释$user->location_id行,您就完成了.

  9. php – Laravel检查集合是否包含外键

    我想知道是否有一个函数或其他东西,你可以从集合中获得一个元素而不是主键…在laraveldoc上,只有一个示例通过使用contains()来检查主键.谁能帮我吗?检查是否存在id=2的投票的示例我想要检查是否有一个’user_id’=签名用户ID的投票

  10. php – 使用多个外键插入Laravel模型

    你现在遇到的问题是你懒得加载Auth::user的注释.我可以做的一件事是,在Eloquent模型中使用关联方法,请尝试这一点,看看它是否适合您的特定需求.

随机推荐

  1. php – 用户身份验证不会在Laravel包中持久存在

    谢谢事实证明问题在于新的Web中间件,将我需要会话数据的所有路由移动到路由组中,一切正常.

  2. php – 找不到laravel类(适用于localhost但不适用于DO服务器)

    这是一个重复的问题–例如:Laravel4migrations–classnotfound但是,我已经尝试了所有解决方案并且无法解决这个问题.脚本我在我的本地机器上创建了一个Laravel4项目–添加了一些类,控制器,视图等–项目运行良好.然后我将这个新的repo复制到我的DO服务器上–用composer等安装依赖项.该项目看起来不错,除了一个页面发出错误:您可以查看此页面here.我试过了…

  3. php – Laravel SSH服务器未存储在配置文件中

    我有一个涉及服务器管理的项目,我需要执行一些SSH命令.在Laravel我有SSH实用程序(远程),但我必须将配置放在一个文件中.我需要从数据库中连接存储在模型中的凭据.任何想法我怎么能这样做?

  4. php – 如何通过Axios将文件发送到Laravel

    我需要通过Axios将文件从客户端发布到服务器.这是我的Vuejs代码:这是我用于处理已发送文件的Laravel代码:但它始终返回否它不是文件.任何帮助将非常感激.您必须创建一个FormData对象并附加图像文件.一个例子是here.如果有效,请告诉我.

  5. php – Laravel API TokenMismatchException

    我有一个带有帖子数据的API调用;让我们说这是登录过程.使用Chrome的Postman扩展程序,我通过POST发送用户名和密码以登录用户.但是我得到了这样的信息:在我的基本控制器中,我有:当我用beforeFilter删除行时,一切正常.但这不是一个解决方案.任何POST调用都会收到此错误消息.我知道我需要这个_token.但是当我从API调用时,我如何获得此令牌?我知道我可以在Laravel中创建一个令牌,但是当我通过API从外部打电话时我怎么能这样做呢?

  6. php – Laravel重定向到一个路由,但随后apache给出了404错误

    这是我的最终(和工作)vhost配置:

  7. php – Laravel Collection键修改

    我使用Collection类中的filter方法从集合中删除一些对象.但在那次操作之后,有时会出现带钥匙的物体,例剩下1,4,5.我希望在过滤操作后总是有0,1,2,3等顺序的元素.有没有任何优雅的方法来做到这一点,而无需将表重写为新表?您可以使用LaravelCollection的values()方法以序列化顺序生成集合的键,如下所示:希望这可以帮助!

  8. php – Laravel 5,如何测试是否在控制器中选中了Checkbox

    如果选中复选框,我试图获取:在我看来:在我的控制器中:在web.PHP中:但不起作用.我该怎么办?谢谢你的答复.编辑1:这是我的形式很差的建设我相信你真正的问题是你有两种不同的形式.您的复选框采用一种形式,您的提交按钮采用第二种形式.我相信它们都需要采用相同的形式.否则,永远不会返回您的复选框状态,无论其状态如何.在您的视图中,尝试替换您提供的表单标记:

  9. php – Laravel 5 – 根据需要验证数组,但允许传递一个空数组

    我正在使用验证器验证Laravel5.4中的请求,请参阅文档:https://laravel.com/docs/5.4/validation#validating-arrays基本上,这是Controller中的代码:我想要求字段“items”的存在,并且这个代码可以实现,但问题是当“items”字段是空数组时验证失败,即,这是一种不受欢迎的行为.我知道这是“必需”参数的记录行为,但我没有看到任何

  10. php – Laravel扩展Form类

    我正在尝试扩展L4.1中的Form类,但我似乎错过了一些东西.我的文件基于API命名为FormBuilder.PHP,保存在app/libraries/extended/FormBuilder.PHP中.这实际上是我第一次尝试在Laravel中扩展核心类.我似乎无法指出如何正确扩展像这个Form类的核心类.编辑:我将“app/libraries/extended”添加到我的composer.jso

返回
顶部