Je ne sais pas si c'est la meilleure pratique. Peut également ne pas être bon si vous avez beaucoup de données dans la base de données. Mais je voudrais suggérer.
1.Rassemblez les ID de catégorie dans un seul tableau.
2.Joignez les tables comme suit, pour chaque catégorie. (Utilisation d'une boucle foreach pour le tableau)
$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();
dans le code ci-dessus, $this->db->where
('at_category', obtenir l'ID du tableau );
3.$query
est le résultat pour chaque catégorie.
4.Le nombre de magasins pour chaque catégorie peut être considéré comme,
$numberOfShos = $query->num_rows();