С использованием методов getArray и getStringList класса приведённого в листинге ниже можно получить список подкатегорий любого уровня вложенности по переданному массиву переданных категорий. Первый метод вернёт массив идентификаторов категорий а второй список, где каждый идентификатор заключается в кавычи, а между собой идентификаторы разделяются запятой, такой запрос например можно использовать в конструкции SQL запроса IN ('значение_1','значение_2'). Предполагается что таблица базы данных в которой хранятся категории имеет такой формат что более нижние категории содержат в одном из полей(в приведённом ниже примере такое поле называется parent_category_id) значения идентифиактора категории вышестоящего уровня, таким образом записи в таблице можно выстроить по иерархии.