Mira Fabias no se como sera la cosa en Symfomy1 pero te dejo un ejemplo que aunque no es el mas optimo funciona.
Twig------
$("#eliminar_agencia").click(function () {
var seleccionados = new Array();
//Busco todos los checkbox de la pagina que estan marcados y los añado al arreglo
$("input:checkbox:checked").each(function(){
seleccionados.push($(this).val());
});
if(seleccionados != null)
{
var data = {seleccionados}
$.ajax({
url: '{{ path('BorrarAgencia')}}',
type: 'post',
data: data,
success: function(data)
{
Cargar_Seccion('{{ path('ListarAgencias') }}');
Notification(data.type,data.title,data.message);
},
error : function(xhr, status) {
alert(xhr);
Notification("error","Oppsss!!!","Parece que algo salio mal.");
//Metronic.unblockUI();
},
});
}else
{
Notification("warning","Alerta","Debe seleccionar al menos una agencia.");
}
})
Controller-----------
/**
* Deletes a Agencia entity.
*
* @Route("/delete", name="BorrarAgencia")
* @Method("POST")
*/
public function deleteAction(Request $request)
{
if (!$request->isXmlHttpRequest())
{
return $this->redirect($this->generateUrl('home_app'),302);
}
if ($request->get("seleccionados") != "") {
$em = $this->getDoctrine()->getManager();
$agencias = $em->getRepository('AppBundle:Agencia')->findBy(array('id'=>$request->get("seleccionados")));
foreach ($agencias as $agencia)
{
$em->remove($agencia);
}
$em->flush();
$type = 'info';
$title = 'Eliminado';
$message = 'La(s) agencia(s) han sido eliminadas correctamente';
$status = 200;
}else
{
$type = 'warning';
$message = 'Debe seleccionar una agencia para eliminar';
$status = 202;
}
return new JsonResponse(array('type'=>$type,'title'=>$title,'message'=>$message),$status);
}