Mysql SQL,Laravel:何时创建关系?
我正在探索SQL和关系数据库领域,因为我对数据库设计相对较新,我想知道表/对象关系是如何工作的。我所说的关系是指在另一个表上引用一个id,这在像Laravel这样的框架中被大量使用,它的ORM很有说服力。文件中说明了如何建立关系,但没有说明为什么和何时建立关系?不这样做的好处或缺点是什么 那么我的问题;何时以及为什么需要在表之间创建关系? 示例: 我当时正在为我们当地的室内足球/足球俱乐部练习Laravel应用程序,该应用程序使用多张桌子(这让我对这个概念感到困惑)。我的应用程序的表/资源包括:Mysql SQL,Laravel:何时创建关系?,mysql,laravel,relational-database,eloquent,Mysql,Laravel,Relational Database,Eloquent,我正在探索SQL和关系数据库领域,因为我对数据库设计相对较新,我想知道表/对象关系是如何工作的。我所说的关系是指在另一个表上引用一个id,这在像Laravel这样的框架中被大量使用,它的ORM很有说服力。文件中说明了如何建立关系,但没有说明为什么和何时建立关系?不这样做的好处或缺点是什么 那么我的问题;何时以及为什么需要在表之间创建关系? 示例: 我当时正在为我们当地的室内足球/足球俱乐部练习Laravel应用程序,该应用程序使用多张桌子(这让我对这个概念感到困惑)。我的应用程序的表/资源包括:
1. Competitions -> hasMany Teams, | Teams -> belongTo Competition
2. Competitions -> hasMany Matches | Matches -> belongTo Competition
3. Location -> hasMany Matches | Matches -> belongTo Location
4. Matches -> hasMany Teams | Teams -> HaveMany Teams
我创建了迁移和模型,但一个接一个地遇到了错误。例如每场比赛都有两个队,如何指定这种关系?和比赛,他们属于一个比赛,以及一个位置,所以我可以查询这两个位置的所有比赛和比赛的所有比赛
这一切都是可能的,还是evert表只能有一个父/子关系
也许有人在这件事上有一些好的资源,从初学者到新手,让我学习和掌握这件事的基本知识
提前谢谢 我会给你一个快速的回答。 基本上,您可以在模型之间创建关系,因为它们是模型定义的一部分 为什么??因为它在很多情况下都有帮助 如果我们选择你的第一段感情:
1. Competitions -> hasMany Teams, | Teams -> belongTo Competition
定义该关系将简化以下操作:
- 定义参加比赛的团队
- 找回参加比赛的队伍
- 检索由某个团队进行的比赛
什么时候?只要模型之间存在此类关系,就始终声明它们。ORM可以帮助您快速启动。这对于任何更大的应用程序来说都是不够的,但利用它的功能可以让你专注于重要的事情,而不必为基本的东西重新发明轮子。您的关系可以通过为每个模型编写几行代码来建立,它们将起作用-这就是您的原因。什么时候我会说,只要你不需要更强壮的东西。然后创建自定义方法,或者用(比如)条令替换雄辩。对于最后一个问题,您可以在模型上定义任意数量的关系。如果您想帮助处理错误,请显示您的代码。这样我就可以给出一个多个家长(belongsTo)关系的模型了?如何保存具有双亲的子模型?在文档中我唯一能找到的就是如何保存一个只有一个关系的模型。当然可以。描述一下你的情况,然后我可以给你一些建议。假设我想增加季节。每年应用程序管理员都会添加一个新赛季,但不必再次添加球队或创建新的比赛。他只需要填写所有的比赛。我如何才能做到这一点?另一个例子:我有一个比赛表,其中有两支球队(主客场)。我如何指定一个关系,如果我查询Matches表,团队就会被加载?