Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/07/2015, 09:07
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 5 meses
Puntos: 379
Respuesta: Pasar un parámetro a un formbuilder

Puedes agregarle un constructor a tu Form Type y pasar el usuario en el.
Código PHP:
Ver original
  1. private $user;
  2.    
  3.     public function __construct(UserInterface $user)
  4.     {
  5.         $this->user = $user;
  6.     }
Posterior a eso solo pasalo al closure
Código PHP:
Ver original
  1. $builder->add('reference',"entity",
  2.     array('label'=>'Selecciona la referencia','class' => 'AlmacenBundle:reference',
  3.     'query_builder' => function(EntityRepository $er) use ($this->user) {
  4.         return $er->createQueryBuilder('u')
  5.                 ->innerjoin('AlmacenBundle:stock', 's','WITH','s.reference=u.id')
  6.                 ->where('s.user = :user')
  7.                 ->setParameter('user',$this->user);
  8.     },
  9. ));
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.