Chce aby przy dodawaniu expenses w fromularzu można wybrać tylko zalogowanego Użytkownika tylko nie wiem jak wstrzyknąć parametr ($User) w formcreatebuilder.
Mój controler
public function newAction(Request $request)
{
$User = $this->getUser()->getUsername();
$expense = new Expenses();
$form = $this->createForm(ExpensesType::class, $expense,r);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$em = $this->getDoctrine()->getManager();
$em->persist($expense);
$em->flush();
return $this->redirectToRoute('expenses_index');
}
'expense' => $expense,
'form' => $form->createView(),
);
}
formtype
public function buildForm
(FormBuilderInterface
$builder, array $options) {
$builder
->add('name', TextType
::class, array( 'label' => 'Nazwa wydatku'))
->add('price', MoneyType
::class, array( 'label' => 'Cena',
'currency' => 'false'
))
->add('createDate', DateType
::class, array( 'label' => 'Data'
))
->add('property', 'entity', array( 'label' => 'Nieruchomość',
'class' => 'User\UserBundle\Entity\User',
'property' => 'adress',
'empty_value' => 'Wybierz adres',
'query_builder' => function(UserRepository $repository) use($User)
{ return $repository->getQueryBuilder($User);}
))
->add('submit', SubmitType
::class, array( 'label' => 'Dodaj',
))
;
}
/**
* @param OptionsResolver $resolver
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array( 'data_class' => 'Property\ManagementBundle\Entity\Expenses'
));
}