Return a JSON array from a Controller in Symfony
Often we need to return a JSON response from a controller in Symfony 2 and grab it in jQuery ajax response. Here is the way to do it.
The findAll() method return a collection of objects.
Source: http://stackoverflow.com/a/34577422
The findAll() method return a collection of objects.
$categorias = $this->getDoctrine() ->getRepository('AppBundle:Categoria') ->findAll();To build your response, you have to add all getters of your entities to your response like :
$arrayCollection = array(); foreach($categorias as $item) { $arrayCollection[] = array( 'id' => $item->getId(), // ... Same for each property you want ); } return new JsonResponse($arrayCollection);Use QueryBuilder allows you to return results as arrays containing all properties :
$em = $this->getDoctrine()->getManager(); $query = $em->createQuery( 'SELECT c FROM AppBundle:Categoria c' ); $categorias = $query->getArrayResult(); return new JsonResponse($categorias);The getArrayResult() avoids need of getters. After you have got the response, you can use each loop of jquery as follows.
success: function(response) { $.each(response, function(i) { $.each(this, function(key,val) { console.log(key+ '=>' + val); }); }); }
Source: http://stackoverflow.com/a/34577422
Comments
Post a Comment