簡體   English   中英

在ActiveRecord代碼點火器中分組

[英]Grouping in activerecord codeigniter

我在codeigniter中使用activerecord。 我有一個看起來像這樣的數據庫:

+------------+--------------|----------+
|clientName  | websiteNumber|langNumber|
|------------|--------------|----------|
|john        | 1            | 2,5      |
|john        | 2            | 2,3      |
|mark        | 1            | 15,5     |
|steve       | 1            | 5        |
|steve       | 2            | 5        |
|amy         | 1            | 15       |
+------------+--------------+----------+

我想按clientName分組,然后按websiteNumber分組,以便視圖看起來像這樣:

  john
    websiteNumber 1 langNumber 2,5
    websiteNumber 2 langNumber 2,3
  mark
    websiteNumber 1 langNumber 15,5
  steve
    websiteNumber 1 langNumber 5
    websiteNumber 2 langNumber 5
  amy
    websiteNumber 1 langNumber 15

我不擔心HTML或如何解析結果。 我想知道使用一個使用活動記錄的查詢的最佳方法,以使其返回一個數組,然后可以在視圖中循環通過。

我想到了兩種方法-例如在foreach循環中查詢,但是感覺很不好,我希望有更好的方法。

您需要使用order_by方法:

$this->db->order_by('clientName', 'asc');
$this->db->order_by('websiteNumber', 'asc');

$query = $this->db->get('client');

return $query->result_row();

我不是活躍記錄專家,但我想您應該僅在客戶端名稱上使用group by ,然后將group_concat與php explode結合使用以獲取視圖。

我對活動記錄的經驗是,您應該只期望獲得與mysql_fetch_assoc相同的輸出。 還不如學說成熟

暫無
暫無

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

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