これがベストプラクティスかどうかわからない。また、DBに大量のデータがある場合は、良くない可能性があります。しかし、私は提案したいと思います。
1.カテゴリIDを1つの配列にまとめます。
2.カテゴリごとに次のようにテーブルを結合します。 (配列にforeachループを使用)
$this->db->select('*');
$this->db->from('at_category');
$this->db->join('at_category_taxonomy', 'at_category.cat_id = at_category_taxonomy.cat_id');
$this->db->join('at_shop', 'at_category.cat_id = at_shop.shop_category');
$this->db->where('at_category', 1);
$query = $this->db->get();
上記のコードでは、$this->db->where
('at_category'、アレイからIDを取得 );
3. $query
各カテゴリの結果です。
4.各カテゴリーの店舗数は、
とみなすことができます。$numberOfShos = $query->num_rows();