Tworze formularz dodający nową wpłatę w formularzu są do wyboru dwie encje : Właściciel i Nieruchomość. Chcę aby po wyborze encji Właściciela był wybór tylko tych nieruchomości, które on posiada. Może mały przykład ktoś wrzuci. Jak to można rozwiązać. Dodałem do encji Property eventlistener. ale zwracami pustą tablicę.
{ $user = $options['user']; $builder ->add('name', TextType::class, 'label' => 'Nazwa wpłaty')) ->add('price', MoneyType::class, 'label' => 'Cena', 'currency' => 'false' )) ->add('createDate', DateType::class, 'label' => 'Data', 'widget' => 'choice', )) ->add('owner', EntityType::class, 'label' => 'Właściciel', 'class' => 'Property\ManagementBundle\Entity\Owner', 'choice_label' =>function($Owner) { return $Owner->getName().''.$Owner->getAdress(); }, 'required' => false, 'empty_value' => 'Wybierz właściciela', 'query_builder' => function(OwnerRepository $o) use ($user) { return $o->createQueryBuilder('o') ->select('o,p') ->Join('o.property', 'p') ->where('o.user = :user') ->setParameter('user', $user); } )); $builder->addEventListener( FormEvents::PRE_SET_DATA, function (FormEvent $event) { $form = $event->getForm(); $data = $event->getData(); dump($data); $owner = $data->getOwner(); 'class' => 'Property\ManagementBundle\Entity\Property', 'property' =>'adress', 'empty_value' => 'Wybierz nieruchomość', 'choices' => $property, )); } ); } /** * @param OptionsResolver $resolver */ public function configureOptions(OptionsResolver $resolver) { 'data_class' => 'Property\ManagementBundle\Entity\Donation', 'user' => null )); }