Hola,
Espero que me puedan ayudar con mi problema.
Tengo dos entidades, sucursal y vehiculo, estas dos no estan relacionadas entre ellas, pero si estan relacionadas con la entidad Comuna.
Tengo un formulario donde el usuario ingresa un vehiculo, y también elige una sucursal en el mismo formulario, donde al enviar el formulario, en el controlador debo recuperar la comuna a la cual pertenece la sucursal e ingresarla a vehiculo.
Cuando llega el id de la sucursal al controlador, realizo un find de la siguiente manera:
Código PHP:
$sucursal = $em->getRepository('SertecomvendoautosBundle:Sucursal')->find($request->get('id_sucursal'));
Lo anterior me devuelve un proxy object con la sucursal encontrada, entonces debo recuperar la comuna y setearla a la entidad vehiculo
Código PHP:
$entity->setCo($sucursal->getCo());
Pero el error se lanza en el $form->bindRequest($request);
Código PHP:
$form->bindRequest($request);
Esta la excepción
Código:
Catchable Fatal Error: Argument 1 passed to Sertecom\vendoautosBundle\Entity\Vehiculo::setCo() must be an instance of Sertecom\vendoautosBundle\Entity\Comuna, null given, called in /var/www/vendor/symfony/src/Symfony/Component/Form/Util/PropertyPath.php on
Dejo el código completo del controlador:
Código PHP:
public function createAction()
{
$entity = new Vehiculo();
$em = $this->getDoctrine()->getEntityManager();
$request = $this->getRequest();
$form = $this->createForm(new VehiculoType(), $entity);
$sucursal = $em->getRepository('SertecomvendoautosBundle:Sucursal')->find($request->get('id_sucursal'));
$entity->setCo($sucursal->getCo());
$form->bindRequest($request);
if ($form->isValid()) {
$em->persist($entity);
$em->flush();
return $this->redirect($this->generateUrl('vehiculo_imagen', array('idve' => $entity->getVeId())));
}
return array(
'entity' => $entity,
'form' => $form->createView()
);
}
Espero que me puedan ayudar
De antemano gracias.
Saludos