Laravel 模型关联

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

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
最佳答案

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

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

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

4年前 评论

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

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

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

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

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

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

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

4年前 评论

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