Rumah > Artikel > pembangunan bahagian belakang > 用MVC架构时,怎么进行多表联合查询?求一比较优秀的解决办法
用MVC架构时,怎么进行多表联合查询?求一比较优秀的解决办法
任何框架都不可能预测你的需求
你只能按框架的约束组织你的数据
多表查询和MVC框架没有任何关系。
我给你说一些常用的方法吧,
1. 简单的,select 嵌套 select : select A.c1,A.c2,(select B.c3 from B where A.c4=B.c5) from A where c6=xxx
2. 简单的,select多表: select A.c1,A.c2,B.c3,B.c4 from A,B where A.c5=B.c6
3. 灵活的 join, left join, right join, outer join
4. union, union all
5. 上面两种或多种混合使用
其实难的sql查询还有很多情况,MVC框架不能够帮你进行多表查询的优化,所以优化了一条查询语句,可能就会让你的系统效率更高。
仅代表个人愚见,笑纳。
多表查询和MVC框架没有任何关系。
我给你说一些常用的方法吧,
1. 简单的,select 嵌套 select : select A.c1,A.c2,(select B.c3 from B where A.c4=B.c5) from A where c6=xxx
2. 简单的,select多表: select A.c1,A.c2,B.c3,B.c4 fr……
任何框架都不可能预测你的需求
你只能按框架的约束组织你的数据
如果你用的框架有规范,则按照它的规范来写
如果没有,则原生的 SQL 应该可以。多表查询也是如此。
如果你用的框架有规范,则按照它的规范来写
如果没有,则原生的 SQL 应该可以。多表查询也是如此。
见手册 6.23 关联模型
我有一个疑问,类似 销售订单表和客户表、用户表,这种表的关系,用面向对象要怎么设计呢
手册上不是有例子吗?
如果你用的框架有规范,则按照它的规范来写
如果没有,则原生的 SQL 应该可以。多表查询也是如此。
引用 3 楼 wangzhlin 的回复:多表查询和MVC框架没有任何关系。
我给你说一些常用的方法吧,
1. 简单的,select 嵌套 select : select A.c1,A.c2,(select B.c3 from B where A.c4=B.c5) from A where c6=xxx
2. 简单的,select多表: select A……
楼主可以封装成为视图 直接实例化试图就可 如果网站不是很大的话
多表联合查询跟mvc有什么关系?你还是没真正理解mvc是什么。
把你的联合查询封装在model里,由controller去调来获取数据就可以了。
楼上说封装成db的视图,也是一种方法。我发现很少有人在mysql上使用视图。不知为什么。其实视图可以解决很多问题。比如表结构更新后,只需要重新创建视图名称不变就可以了。而不用再去修改代码。可能是现在的新技术太多了,大家都不屑于使用这些老技术了。
谢谢各位的意见。
其实我想针对这种表联合查询的情况,做一个比较好的处理方案,为以后维护方便。最好是能结合类。我之前的系统是用原生态的SQL,发现修改时,容易写错是一个原因,也不好理解这个业务流程。
如果能把表与表的关系,用类来表现,这个方法不知怎么样。
多表查询和Mvc有什么关系
我的系统是用MVC架构的,而一个系统功能里,都会有多表查询的情况。
那么我想知道的是,各位在使用MVC架构开发时,遇到这种多表查询的情况,是直接用原生态SELECT,还是用视图或者存储过程
一般都是 原生态SELECT ,你可以去看看 mvc框架或者cms 的源码就知道了。
一般都是 原生态SELECT ,你可以去看看 mvc框架或者cms 的源码就知道了。