我正在使用Symfony2和Sonata Admin Bundle但我在编辑模式下遇到了实体列表的性能问题。
我有一个文章实体,这些文章可以链接到多个传记(数据库中约100 000个传记)。
以下是我的ArticleAdmin.php类的一部分。
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->add('biographies', 'entity', array(
'class' => 'SJBiographyBundle:Biography',
'multiple' => true
))
->end();
}
当我编辑我的文章时,这会产生一个带有我的10万个传记的选择(并且它工作正常),除了从数据库加载100 000个对象需要花费很多时间。
使用最新版本的Sonata Admin Bundle,select会附带一个自动填充字段。
我的问题是:有没有办法只加载50或100张传记,并通过自动填充字段过滤来加载更多?
感谢您的帮助!
答案 0 :(得分:2)
您需要使用sonata_type_model_list
,请参阅相关文档:http://sonata-project.org/bundles/doctrine-orm-admin/master/doc/reference/form_field_definition.html#advanced-usage-many-to-one