Inte säker på om detta är den bästa praxis. Det kan också vara inte bra om du har mycket data i DB. Men jag skulle vilja föreslå.
1.Hämta kategori-ID:n i en array.
2.Sammanfoga tabeller enligt följande, för varje kategori. (Med en foreach loop för arrayen)
$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();
i ovanstående kod, $this->db->where
('at_category', hämta ID från array );
3.$query
är resultatet för varje kategori.
4. Antalet butiker för varje kategori kan ses som,
$numberOfShos = $query->num_rows();