Параметр $blocks
объекта Page
является реализацией, поэтому по умолчанию это загружено с отложенной загрузкой .
Если вы хотите, чтобы $block
всегда загружался при загрузке любого объекта Page
в любом месте, вы можете быстро загрузить блоков, однако это не рекомендуется из-за влияния на производительность (вы, вероятно, этого не делаете нужно $blocks
каждый раз, когда вы загружаете Page
сущность).
Другой способ, если загруженный $blocks
- это инициализировать коллекцию вручную, например:
$blocks = $page->getBlocks();
$blocks->initialize();
Тогда, когда вы dump($blocks)
, они не должны быть пустой коллекцией.
Обычно отложенные коллекции инициализируются в момент их использования, например в foreach - вот почему это сработало.