LSvKing 发表于 2009-12-25 15:21:35

用CI的 AR类进行 跨库关联查操作

本帖最后由 LSvKing 于 2009-12-27 12:56 编辑

最近在写套系统,上来就遇到麻烦了,具体情况就不说了,大概就是 A 库里有张表 写了一些用户信息,B 库是另外一个库,里边有张表记录了一些充值信息, 然后A 表里的用户有个字段是B表里没有的,但却是查询条件,所以要用到表关联。这个逻辑大家都清楚,主要是这两个表分布在了不同的数据库中,需要用到跨库表关联,这个在MYSQL里边是可以实现的,现在需要用CI 的AR类来实现,好下边给出解决方法,期间我走的弯路就不说了,希望能够帮助大家,让大家少走弯路。

    //多表信息查询//
      function cps_pay_in_dede(){

            $DB2 = $this->load->database('dedecms', TRUE);
            $this->db->select('un_cps.mid,un_cps.unionid,dede_shops_orders.userid,dede_shops_orders.priceCount,stime');
            $this->db->from($this->db->database.'.un_cps');
            $this->db->join($DB2->database.'.dede_shops_orders', 'un_cps.mid = dede_shops_orders.userid','left');
            $this->db->where('un_cps.unionid', '2');
            $this->db->where('dede_shops_orders.priceCount IS NOT NULL');
            //$this->db->select_sum('priceCount');
            return $this->db->get();

我就直接用我的model 方法了,大家看一下吧,DB2 是写在数据库配置文件里的另一组配置 ,具体的去看手册里连接多数据库章节 http://codeigniter.org.cn/user_guide/database/connecting.html。恩,这个方法在CI的官方英文论坛里边有,而且解决这个问题的方法有很多,这个是我试用成功的。 本人表达能力有限,就写这么多吧,有不清楚的直接留言,要不到QQ群找我也行(PS.记得带菊花)。

xiaoniao 发表于 2009-12-25 16:23:37

哇 好帖哦

zhuyue39381995 发表于 2011-6-19 09:45:12

学习了,不错哈~~

imever 发表于 2011-10-28 10:09:23

正在找呢,好帖,必须顶!:D

小梦梦· 发表于 2015-8-19 14:23:59

{:1_1:}:victory:

尘虹 发表于 2016-3-1 11:43:09

不错不错
页: [1]
查看完整版本: 用CI的 AR类进行 跨库关联查操作