Ik weet niet zeker of dit de beste praktijk is. Het kan ook niet goed zijn als je veel gegevens in DB hebt. Maar ik zou willen voorstellen.
1. Haal de categorie-ID's in één array.
2.Voeg de tabellen als volgt samen voor elke categorie. (Een foreach-lus gebruiken voor de array)
$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();
in de bovenstaande code, $this->db->where
('at_category', id uit array halen );
3.$query
is het resultaat voor elke categorie.
4. Het aantal winkels voor elke categorie kan worden beschouwd als,
$numberOfShos = $query->num_rows();