Dans CodeIgniter 3, il existe de nouvelles méthodes group_start() et group_end() qui servent exactement à cette fin.
return $this->db
->where('LastName', 'Svendson');
->where('Age', 12);
->group_start()
->where('FirstName','Tove')
->or_where('FirstName','Ola')
->or_where('Gender','M')
->or_where('Country','India')
->group_end()
->get('Persons')
->result();