我有两张桌子和露台。
tophits has id, account, useragent, ip referral, time
topsites has id, name, email, url, return, active
每当有人点击链接时,它都会存储在tophits表中,帐户是来自topsites的ID。
基本上我想要回应当天最热门的热门歌曲,所以我想我需要计算账号= 4的点击次数=今天按顶部排序
这是我到目前为止所拥有的
$this->db->select('name, url');
$this->db->from('topsites');
$this->db->where('active' '1');
$this->db->join('tophits', 'tophits.id = topsites.account');
(这是代码签名者)
我被困住了。有什么帮助吗?
答案 0 :(得分:1)
试试这个(未经测试的)
当您连接表时,您需要在select语句中指定给定字段所属的表。 CI默认情况下也会使用反引号来保护字段名,但是如果在select / where语句中使用SQL方法,则需要提供第二个参数FALSE
以防止它执行此操作,因为它可能会使您的SQL方法失真。您还需要添加另一个where语句以将其限制为今天。
$this->db->select('topsites.name, topsites.url, COUNT(tophits.id) AS hit_count',FALSE);
$this->db->from('topsites');
$this->db->where('active' '1');
$this->db->join('tophits', 'tophits.id = topsites.account');
$this->db->order_by('hit_count');
$query = $this->db->get();