質問
CodeIgniterのActive RecordクラスとMySQLを使用して、 user_id
およびその他のさまざまなフィールドを持つ投稿のテーブルがあり、各ユーザーが作成した投稿の数をカウントします。 user_id = $ whatever
の行を取得して結果の数をカウントできますが、すべての user_id
をループして、その count_all_results()<を使用する必要があります/ code>クエリを何度も繰り返します。
もっと良い方法があるはずです!すべてのフィールドに 1
が含まれているフィールドがある場合、そのフィールドを select_sum
してカウントを取得できます。しかし、それは馬鹿げているようです。
事前に感謝します!
解決
アクティブレコードの使用方法は次のとおりです。
$this->db->select('field1, ... ,fieldn, count(1) as number_elements_of_row');
$this->db->group_by(array('field_group_1', ... ,'field_group_n'));
$result = $this->db->get('mytable');
so $ result
に必要なものが含まれます!
所属していません StackOverflow