сводить эти команды в турнируную таблицу с условиями (гость, хозяин), круг 1, круг 2 и еще 5-6 условий, которые влияют на список.
Заглянул в код, думаю прочитаю, что там за 5-6 условий таких. И где ?
Класс генерации у вас занимается чем угодно (контролер,модель,вьюшка), но не умеет "строить турнирнирную таблицу".
Ну почитайте вы о предметной области до написания кода. Эти ваши 5-6 условий помогли бы Вам определить какой алгоритм нужен для построения. Что там команды должны отыграть сезон (каждый должен встретиться с каждым и дважды в роли хозяина и во второй раз как гость). Игры на выезде по хорошему должны стоять так чтобы команды успели доехать, отдохнуть, провести там тренировку.
Или это турнир на вылет. Опять разные варианты. После 1го или 2х поражений.
Там этих уже придуманных схем много и врядли Вам дали уж совсем что-то уникально придуманное.
Но из куцего вашего описания можно предположить, что вылетов после первого нет. Так как 2 круг спланировать заранее было бы не возможно.
Второе. Не знаю в какую контору Вы собеседовались, но стоило поискать какие фреймворки они используют. Или это было прям заданием "писать на чистом PHP". тогда нужно было следовать советам из "
правильный путь"