質問

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 に必要なものが含まれます!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top