我们知道数据库的配置中有支持对默认数据库的配置,因此DB对象及Model对象在初始化的时候已经绑定到了特定的数据库上。运行时切换数据库有几种方案(假如我们的数据库有user用户数据库和order订单数据库): 

创新互联公司是一家从事企业网站建设、成都网站建设、做网站、行业门户网站建设、网页设计制作的专业网站设计公司,拥有经验丰富的网站建设工程师和网页设计人员,具备各种规模与类型网站建设的实力,在网站建设领域树立了自己独特的设计风格。自公司成立以来曾独立设计制作的站点超过千家。
g.DB("分组名称")来获取特定数据库的单例对象。 DB.SetSchema方法切换单例对象的数据库,需要注意的是由于修改的是单例对象的数据库配置,因此影响是全局的: g.DB().SetSchema("user-schema")
 g.DB().SetSchema("order-schema")
Schema方法创建Schema数据库对象,并通过该数据库对象创建模型对象并执行后续链式操作: db.Schema("user-schema").Model("user").All()
 db.Schema("order-schema").Model("order").All()也可以通过链式操作Model.Schema方法设置当前链式操作对应的数据库,没有设置的情况下使用的是其DB或者TX默认连接的数据库:
 db.Model("user").Schema("user-schema").All()
 db.Model("order").Schema("order-schema").All()注意两种使用方式的差别,前一种方式来自于Schema对象创建Model对象后执行操作;后一种方式是通过修改当前Model对象操作的数据库名称达到切换数据库的目的。
 // SELECT * FROM `order`.`order` o LEFT JOIN `user`.`user` u ON (o.uid=u.id) WHERE u.id=1 LIMIT 1
 db.Model("order.order o").LeftJoin("user.user u", "o.uid=u.id").Where("u.id", 1).One()            
                网站标题:创新互联GoFrame教程:GoFrame链式操作-数据库切换
                
                转载注明:http://www.csdahua.cn/qtweb/news2/289502.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网