我有两个函数,我使用2个不同的查询。我需要创建一个函数来检索项目的视图数量。以下是两个功能:
public function products_views(){
$this->db->select('*');
$this->db->from('products');
$this->db->order_by('view_count', 'DESC');
$query = $this->db->get();
return $query->result();
}
public function getViewCount($product_id) {
$this->db->select('COUNT(*) AS cnt');
$this->db->from(views);
$this->db->where('product_id', $product_id);
$query = $this->db->get();
return $query->row()->cnt;
}
我想要一个查询,它将返回views表中每个产品的所有总视图数,并显示products表中显示总视图数的所有产品。
答案 0 :(得分:1)
您需要将JOIN
用于表products
和views
将products.id
与views.product_id
联系起来。因此,请求应如下所示:
SELECT products.id, COUNT(views.id) as cnt
FROM views JOIN product ON products.id = views.product_id
GROUP BY views.product_id
您需要使用有效记录来解释此请求。