我正在为我的php项目使用codeigniter,但在这方面没有太多经验。所以,请帮助我。
我有两个数据库。1. 卡利克斯2 2.星号
在这两个数据库中,我都有一些表。我想在两个不同数据库中的表上进行联接。我有以下查询,它在后端工作正常,但我不知道如何使用活动记录实现它。
SELECT a.CompanyName, sum(ceil((b.billsec)/(c.Call_Limit*60))) as totalcall,
hour(b.calldate) as use_hour FROM Kalix2.ph_Companies a
INNER JOIN Asterisk.cdr b ON b.clid LIKE CONCAT('%', a.CompanyName, '%')
INNER JOIN Kalix2.ph_Plans c ON c.Comp_ID= a.Comp_ID
where date(b.calldate)>='2013-01-15' and date(b.calldate)<='2013-1-20'
and c.Plan_Type='Per_Call' and a.CompanyName='ABCD'
group by hour(b.calldate);
请帮助我将此查询转换为活动记录格式。
如果需要,您应该能够将其转换为活动记录,但只需将其转换为查询绑定即可获得更好的性能。常见的错误是尝试对多个类运行查询:
$this->db1
$this->db2
这将不起作用,因为运行 $this->db1->get(),因为它只知道 db1 中的数据,而不是 db2。详细地将 database.table 信息保留在连接中,仅使用一个 db 对象,并使用探查器调试查询生成,您应该很好。
连接到多个数据库
活动记录类和联接
使用探查器调试查询