多表查询和MVC框架没有任何关系。我给你说一些常用的方法吧,1. 简单的,select 嵌套 select : select A.c1,A.c2,(select B.c3 from B where A.c4=B.c5) from A where c6=xxx2. 简单的,select多表: select A.c1,A.c2,B.c3,B.c4 from A,B where A.c5=B.c63. 灵活的 join, left join, right join, outer join4. union, union all5. 上面两种或多种混合使用其实难的sql查询还有很多情况,MVC框架不能够帮你进行多表查询的优化,所以优化了一条查询语句,可能就会让你的系统效率更高。仅代表个人愚见,笑纳。
我只是想知道,在用MVC开发时,是怎么转向到原生态的SQL,是直接在控制里写很多JOIN 这些吗?
如果没有,则原生的 SQL 应该可以。多表查询也是如此。
框架有提供一些规范,我是用TP的来做的。之前没有用框架时,就是写了很多的JOIN语句,发现维护起来不容易,如果要修改,要重新去理解去读懂,有可能还会改错了,或范一些比较低级的错误,比如写单引号忘了写之类的。
根据框架封装的db类了,查看手册或代码,或者你自己用原生的sql连接去写,数据库部分不用框架。希望对你有帮助。
其实我想针对这种表联合查询的情况,做一个比较好的处理方案,为以后维护方便。最好是能结合类。我之前的系统是用原生态的SQL,发现修改时,容易写错是一个原因,也不好理解这个业务流程。
如果能把表与表的关系,用类来表现,这个方法不知怎么样。
那么我想知道的是,各位在使用MVC架构开发时,遇到这种多表查询的情况,是直接用原生态SELECT,还是用视图或者存储过程