Я думаю, что ответ @darkangelo требует объяснений.
Метод findAll()
возвращает коллекцию объектов.
$categorias = $this->getDoctrine()
->getRepository('AppBundle:Categoria')
->findAll();
Чтобы построить ответ, вам нужно добавить все получатели ваших объектов к вашему ответу:
$arrayCollection = array();
foreach($categorias as $item) {
$arrayCollection[] = array(
'id' => $item->getId(),
// ... Same for each property you want
);
}
return new JsonResponse($arrayCollection);
Использование QueryBuilder
позволяет возвращать результаты в виде массивов, содержащих все свойства:
$em = $this->getDoctrine()->getManager();
$query = $em->createQuery(
'SELECT c
FROM AppBundle:Categoria c'
);
$categorias = $query->getArrayResult();
return new JsonResponse($categorias);
getArrayResult()
избегает необходимости геттеров.