Cita:
Iniciado por hhs 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!