
Error al guardar formulario
Publicado por gonzo____ (10 intervenciones) el 22/10/2021 11:53:56
Buenos dias,
Me esta saliendo un error al intentar hacer un insert con un formulario.

Y se lo paso a la vista "{{ form(form) }}" de esta manera.
Hay dos tablas: GarantiasGarantias y GarantiasEstados
Saludos!
Me esta saliendo un error al intentar hacer un insert con un formulario.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
public function garantiasAction(Request $request)
{
if($this->get('funciones')->tienePermiso(38,$this)) {
$nuevagaran = new GarantiasGarantias();
$em = $this->getDoctrine()->getManager();
$user = $this->get('security.token_storage')->getToken()->getUser();
$form = $this->createFormBuilder($nuevagaran)
->add('albaranventa', null, array('label' => 'Albarán de Venta', 'attr' => array('style'=> 'text-transform:uppercase')))
->add('matricula', null, array('label' => 'Matrícula', 'attr' => array('style'=> 'text-transform:uppercase')))
->add('km', null, array('label' => 'Kilómetros'))
->add('referencia', null, array('label' => 'Referencia servida en garantía.', 'attr' => array('style'=> 'text-transform:uppercase')))
->add('cliente', null, array('label' => 'Código de cliente'))
->add('delegacion', 'entity', array('label' => 'Delegación', 'class' => 'mainBundle:Delegaciones','choice_label' => 'nombre','query_builder' => function (EntityRepository $er){
return $er->createQueryBuilder('u')
->where('u.id > 0')
->orderBy('u.nombre', 'ASC');
}, 'data' => $em->getReference("mainBundle:Delegaciones", $user->getDelegacion()->getId())))
->add('serviciotecnico', 'checkbox', array('required' => false))
->add('descripcion', 'textarea', array('required' => true))
->add('guardar', 'submit')
->getForm();
$form->handleRequest($request);
if($form->isValid()) {
try {
$nuevagaran->setUsuario($user)->setEstado($em->getRepository('mainBundle:GarantiasEstados')->find(1));
$em->persist($nuevagaran);
$em->flush();
$this->get('session')->getFlashBag()->add('notice','Se ha completado la solicitud electrónica para el cliente '.$form["codCli"]->getData().'.');
} catch (\Exception $e) {
$this->get('session')->getFlashBag()->add('error','ERROR: Ha ocurrido un error insertando los datos. '.$e->getMessage());
}
return $this->redirect($this->generateUrl('garantia'));
}
$solicitudesgaran = $em->createQuery('SELECT g.id, d.nombre delegacion, g.cliente, g.matricula, g.km, g.referencia, g.serviciotecnico, g.albaranventa, e.nombre estado
FROM mainBundle:GarantiasGarantias AS g
LEFT JOIN mainBundle:Usuarios AS u WITH u.id=g.usuario
LEFT JOIN mainBundle:Delegaciones AS d WITH d.id=g.delegacion
LEFT JOIN mainBundle:GarantiasEstados AS e WITH e.id=g.estado
ORDER BY g.id DESC')->getResult();
return $this->render('mainBundle:Garantias:garantias.html.twig', array('form' => $form->createView(), 'garantias' => $solicitudesgaran));
}
else throw new AccessDeniedException();
}
}
Y se lo paso a la vista "{{ form(form) }}" de esta manera.
Hay dos tablas: GarantiasGarantias y GarantiasEstados
Saludos!
Valora esta pregunta


0