Ver Mensaje Individual
  #7 (permalink)  
Antiguo 17/07/2015, 02:29
Karmo
 
Fecha de Ingreso: marzo-2005
Mensajes: 51
Antigüedad: 19 años, 8 meses
Puntos: 0
Respuesta: Pasar un parámetro a un formbuilder

Cita:
Iniciado por hhs Ver Mensaje
Puedes publicar lo que tienes para ver que estas pasando al formulario y como lo estas haciendo
Al final he conseguido hacerlo de otra manera (más chapucera pero efectiva). Lo comparto con vosotros por si a alguien le interesa:

1. Paso el parámetro por URL, por ejemplo: https://www.noseque.com/nuevopedido/3

(el 3 sería el ID del usuario).

2. En el formulario, dentro del setDelfaultOptions obtengo el ID de la URL:

public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(,
'usuario' => substr($_SERVER["REQUEST_URI"],-1),
));
}

3. Luego en el field, dentro de la query, utilizo el parámetro que he obtenido:

$builder->add('reference',"entity",
array('label'=>'Selecciona la referencia','class' => 'AlmacenBundle:reference',
'query_builder' => function(EntityRepository $er) use ($options) {
return $er->createQueryBuilder('u')
->innerjoin('AlmacenBundle:stock', 's','WITH','s.reference=u.id')
->where('s.user = :user')
->setParameter('user', $options['usuario']);
},
));

No es la mejor manera, pero en lo que busco la manera correcta ésta me sirve.

Un saludo y gracias!