Давайте создадим следующую структуру:
Компания -> Отдел -> Персона
-> означает 1: отношение М
Должен ли я иметь один жирный контроллер, который обслуживает все запросы для этих объектов, или один контроллер на каждый объект?
Там будут обычные операции CRUD для каждого объекта. Детали (отдел, человек) будут отображаться на одной странице с использованием сеток.