簡體   English   中英

Codeigniter在列出類別時統計一個類別中的文章數

[英]Codeigniter count number of articles in one category while listing categories

從數據庫列出類別時遇到一些問題。

首先,我有一個名為“視頻”的表,用於存儲諸如v_name,v_description和category_name之類的som視頻信息。

在稱為“類別”的第二張表中,我存儲了諸如c_name和c_description之類的類別信息。

我在每個表中都有ID的OFC :)

但是現在我要列出類別,並在同一查詢中計算每個類別中的每個視頻項目。

這是代碼,我現在不知道如何在模型中進行操作,以后又無法在視圖文件中顯示數字,所以請幫幫我!

感謝您的時間和支持:D

    $this->db->select('c.*');
    $this->db->from('categories as c');
    $this->db->join('videos as v', 'c.c_name = v.v_category', 'right');
    return $this->db->get()->result_array();

為了使代碼正常工作,您需要進行兩項更改:

  • 首先,您的聯接類型應為“左聯接”。 即使類別沒有視頻,您仍然可以得到計數結果(0)。
  • 其次,您需要對結果進行分組,以便能夠使用聚合函數count()。

試試這個:

$this->db
->select('categories.c_name, COUNT(videos.id) as num_videos')
->from('categories')
->join('videos', 'categories.c_name = videos.v_category', 'left')
->group_by('categories.c_name');

另外,您應該重新考慮數據庫設計。 如果兩個表中都有ID列(我假設是主鍵),則應使用ID列而不是名稱來定義表(外鍵)之間的關系。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM