Laravel 模型关联

模型关联的作用是什么呢?
如果不用模型关联可以吗?
如果使用了模型关联就可以不用做数据库的主键外键以及参考完整性设置吗?
补充问题:直接sql 语句的 left join就可以跨表查询了,和模型关联的方式比有什么不好的?

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

用系统的模型关联是因为有很多的帮助方法,自己做,都要自己去写,重复劳动

5年前 评论
Richard852555 (楼主) 5年前
Affren (作者) 5年前
讨论数量: 5

模型关联就是根据表的主键外键去完成表关联的,所以肯定是要用的。作用的话我理解为方便去关联查询模型数据,通过你在模型中定义好的关联关系

5年前 评论

我感觉可以尝试下不用模型关联来解决下问题,然后对比下用模型关联的区别

5年前 评论
Richard852555 (楼主) 5年前

对于外键,一般会采用程序上去做逻辑处理,关于数据库的外键为什么建议不使用。这个可以自行百度。 我个人觉得模型关联优势:

  1. N+1的逻辑可以简单的用with即可。
  2. 多对多关系时的增删改等操作。
  3. 多态关联的操作更简单。
  4. 不考虑比较复杂的SQL的情况下,关联查询能解决大部分的查询需求。
5年前 评论

用系统的模型关联是因为有很多的帮助方法,自己做,都要自己去写,重复劳动

5年前 评论
Richard852555 (楼主) 5年前
Affren (作者) 5年前

如果数据量大的时候不建议使用模型关联的方式获取数据,使用模型关联的方式获取数据从底层他还是会转换成sql来执行,只会对你的开发效率提升,对sql的执行效率可能会下降,因为很多模型关联的方式是解析成子查询的方式来查询的,然而在数据量大的时候子查询的查询效率并不理想。

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!