I have a form that is the bottleneck of my ajax-request.
$order = $this->getDoctrine()
->getRepository(\'AcmeMyBundle:Order\')
->fin
I also had the same problem with the entity type, I needed to list cities, there were like mire then 4000, what I did basically is to inject the choices into the form. In your controller you ask the Variants from the database, in a repository call, hydrate them as array, and you select only the id and the name, or title, and then you pass into the form, as options value. With this the database part will be much quicker.
The described behavior looks as the work of the guesser. I have the feeling that there is need to show an some additional code (listeners, VariantType
, WebsiteType
, PartnerType
).
Let's assume a some class has association variant
to Variant
and FormType
for this class has code ->add('variant')
without explicit specifying type (as I see there is a lot of places where the type is not specified). Then DoctrineOrmTypeGuesser
comes in the game.
https://github.com/symfony/symfony/blob/2.7/src/Symfony/Bridge/Doctrine/Form/DoctrineOrmTypeGuesser.php#L46
This code assign the entity
type (!) to this child. The EntityRepository::findAll()
is called and all variants from DB are hydrated.
As for another form optimization ways: