Nie jestem pewien, czy to najlepsza praktyka. Również może nie być dobre, jeśli masz dużo danych w DB. Ale chciałbym zasugerować.
1. Umieść identyfikatory kategorii w jednej tablicy.
2.Dołącz tabele w następujący sposób, dla każdej kategorii. (Korzystanie z pętli foreach dla tablicy)
$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();
w powyższym kodzie, $this->db->where
('at_category', pobierz identyfikator z tablicy );
3.$query
to wynik dla każdej kategorii.
4. Liczbę sklepów w każdej kategorii można przyjąć jako,
$numberOfShos = $query->num_rows();