В настоящее время я в процессе переноса недавнего приложения Symfony 1.4 на Symfony2 и Doctrine2. Первое, что я заметил, когда преобразовал информацию отображения (мы используем файлы YAML), это то, что запросы для пользовательских объектов попали в бесконечный цикл.
Я поиграл с ассоциациями и обнаружил, что у меня была цикличность. Я удалил его в целях отладки, удивляясь, почему он вообще перебирает все эти ассоциации. Я только что спросил всех пользователей.
Сегодня я снова столкнулся с той же проблемой с другим объектом, только он остановился после 930 запросов и не имел бесконечного цикла. Кажется, что Doctrine2, когда он заполняет объект, запрашивает все объекты для каждой ассоциации. Без проксирования, без ленивой загрузки.
Я включил fetch: LAZY
для этой ассоциации и вуаля, автонаселение остановилось!
Но теперь я хочу использовать это как поведение по умолчанию, так как модель имеет более 50 ассоциаций, и я не хочу добавлять эту строку ко всем из них.
Как мне активировать отложенную загрузку как настройку по умолчанию в Doctrine 2?