我的奏鸣曲存在性能问题。
我构建了一个具有一对多关系的表单,在几个产品的操作之间运行良好,在开发环境中一切都很好,但在生产中,我有250000个要管理的产品,这使得查询非常慢...... 我有一个ajax查询来根据产品的制造商替换我的选择器的内容,但是第一次调用(所有CRUD逻辑的参数)太长了......
这是我的表单映射器
->add( 'operationhasproducts', 'sonata_type_model',
array(
'class' => 'MyBundle\Entity\Operationhasproducts',
'query' => $this->modelManager->createQuery('MyBundle\Entity\Product'),
'multiple' => true,
'by_reference' => false,
'btn_add' => false,
'required' => false
)
)
如何在加载页面时不加载250000产品的情况下保留逻辑
我尝试将'query'=> $this->modelManager->createQuery('MyBundle\Entity\Product')->setMaxResults(10),
表单显示但是然后crud逻辑不再有效,我有数据转换错误
Symfony\Component\Validator\ConstraintViolation
Object(Symfony\Component\Form\Form).children[operationhasproducts] = [0 => 2739, 1 => 29217]
Caused by:
Symfony\Component\Form\Exception\TransformationFailedException
Unable to reverse value for property path "operationhasproducts": Could not find all matching choices for the given values
Caused by:
Symfony\Component\Form\Exception\TransformationFailedException
Could not find all matching choices for the given values
欢迎任何帮助