小菜求教个模型问题? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sujin190
V2EX    问与答

小菜求教个模型问题?

  •  
  •   sujin190 2013 年 4 月 21 日 3059 次点击
    这是一个创建于 4665 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在mvc中模型一般会被定义成对一个表的增删查改,但有时需要多个表中的数据,也许只需一个联合查询就可以做到的但此时却需要对数据库进行多次查询,那么此时是不是反而造成了效率的低下?这种情况又是怎么解决的呢?模型的要义又是什么?
    11 条回复    1970-01-01 08:00:00 +08:00
    ljbha007
        1
    ljbha007  
       2013 年 4 月 21 日
    MVC模型跟你最终怎么查询完全没关系
    是用多次查询还是联合查询完全是你自己决定的 然后把查询结果填充到模型里边就行了
    sujin190
        2
    sujin190  
    OP
       2013 年 4 月 21 日
    @ljbha007 那么比如在CodeIgniter中,他封装了一些数据库的基本查询比如where子句、order_by子句,似乎这些查询内部还做了缓存处理,但这些基本查询似乎又不可以组合成比较复杂的查询,那么我们也可以直接执行sql语句吗?那么这样是不是又破坏了原有的特性呢?
    ljbha007
        3
    ljbha007  
       2013 年 4 月 21 日
    @sujin190
    那个是他的框架自己实现的ORM
    这个你在挑选MVC框架的时候就应该事先了解
    ljbha007
        4
    ljbha007  
       2013 年 4 月 21 日
    @sujin190
    像Python的Flask、Tornado
    Java的struts2、SpringMVC
    这些都是非常优秀的MVC框架 并且可以和别的ORM框架无缝衔接
    ljbha007
        5
    ljbha007  
       2013 年 4 月 21 日
    @sujin190
    MVC框架自带ORM 并且和框架本身紧耦合的坏处就是万一ORM写得很搓或者效率很低就悲剧了
    fsw90628
        6
    fsw90628  
       2013 年 4 月 21 日 via iPhone
    为了性能写 SQL 还是值得的,问题是那部分是不是瓶颈。
    sujin190
        7
    sujin190  
    OP
       2013 年 4 月 21 日
    @ljbha007 那是不是说在大多数mvc框架都把一个模型对应到数据库的一个表,这只是最通用的做法,并不是模型的定义,或者说mvc中模型并只定义它作为数据的提供者并未定义它如何和数据存储部分的交互过程呢?
    sujin190
        8
    sujin190  
    OP
       2013 年 4 月 21 日
    @ljbha007 刚看了下源码发现CodeIgniter原来是可以可以直接执行sql语句的,为什么这官方文档写得这么简单,完全不明所以
    sujin190
        9
    sujin190  
    OP
       2013 年 4 月 21 日
    @fsw90628 是啊,不过有时似乎会突破一个模型对应一个表的限制,不知道好不好
    ljbha007
        10
    ljbha007  
       2013 年 4 月 21 日
    @sujin190
    是的 只是有些MVC把和数据库打交道的部分也集成进去了而已 实际上这种做法跟MVC模式没有任何关系
    sujin190
        11
    sujin190  
    OP
       2013 年 4 月 21 日 via Android
    @ljbha007 原来如此 ,被误导了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5258 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 09:25 PVG 17:25 LAX 01:25 JFK 04:25
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86