裏紙に書く程度の内容

codeigniter sqlのcount()でデータが取れない

codeigniterのsqlでcount(*)を使ったらなんかデータが空になった。

問題の状況

具体的にはこんな感じ。

$result = $this->db
  ->select('name, count(*)')
  ->group_by('name')
  ->get('table')
  ->result();

データは入っているはずなんだけど、空になる。 特にエラーになるわけでもない。

ちなみに->select('name, count(*)')->select('name')にするとちゃんとデータが取れる。

修正

原因はcount(*)に別名をつけていないせいだった。

$result = $this->db
  ->select('name, count(*) as count')
  ->group_by('name')
  ->get('table')
  ->result();

これでおk。

データは

foreach ($result as $row) {
    $row->count;
}

みたいな感じで。

よくよく考えたらそりゃそうだよね!

URABLO
広告
Index
広告