Вам не нужно беспокоиться о типе объекта Collection, оба ArrayCollection
и PersistentCollection
реализуют интерфейс Collection
и работают одинаково. Разница в том, что PersistentCollection содержит объекты, которые были сохранены в БД, и может попасть в базу данных при их итерации по ним.
Если вы используете подсказку типа, просто намекайте на Doctrine\Common\Collections\Collection
.
Если вы напишите
{% for mod in catalog.getModel() %}
{{ dump(mod) }}
{% endfor %}
в шаблоне ветки, вы должны увидеть свои объекты.