Для вывода списка статей с захватом только имени автора, а не всего объекта Автора в Symfony, вам потребуется настроить соответствующие связи между сущностями и использовать выборку (query) вместе с операцией выборки (select) только нужных полей.
Сначала вам нужно определить отношение "один-ко-многим" между сущностями Статья и Автор. Если предположить, что у вас уже есть соответствующие классы, например, Article и Author, то в классе Article должно быть определено свойство "автор" с аннотацией @ManyToOne, а в классе Author должно быть свойство "статьи" с аннотацией @OneToMany.
В классе Article свойство "автор" может выглядеть следующим образом:
/**
* @ORMManyToOne(targetEntity="Author")
* @ORMJoinColumn(name="author_id", referencedColumnName="id")
*/
private $author;
Здесь "author_id" - это имя столбца в таблице сущности Article, которое хранит идентификатор автора, а "id" - это имя столбца в таблице сущности Author, которое хранит идентификатор самого автора.
Затем, при получении списка статей, можно использовать операцию выборки (select) только нужных полей, в данном случае только имя автора. Например, вы можете использовать метод createQueryBuilder для создания запроса:
$entityManager = $this->getDoctrine()->getManager();
$query = $entityManager->createQueryBuilder()
->select('a.name, ar.title')
->from(Author::class, 'a')
->leftJoin('a.articles', 'ar')
->getQuery();
$results = $query->getResult();
В этом примере мы выбираем только поле "name" из сущности Author и поле "title" из сущности Article. Метод leftJoin используется для связи сущностей автора и статьи.
Таким образом, результаты запроса будут содержать только выбранные поля, в данном случае - имя автора и заголовок статьи.
Надеюсь, это поможет вам выводить список статей с захватом только имени автора, а не всего объекта Автора.