龙舍·嬴皇志
透过我的双眼看世界
用CI的 AR类进行 跨库关联查操作

比较早写的东西了,发现博客很急没更新了发过来充数。。。

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

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

``

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

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


最后修改于 2010-10-26