Symfony SonataAdminBundle:持久化和检索数据的过程是什么?

Symfony SonataAdminBundle:持久化和检索数据的过程是什么?,symfony,sonata-admin,Symfony,Sonata Admin,我试图找到一些文档来描述保存和检索SonataAdminBundle数据的过程,因为当我遇到一些问题时,如果我不知道它的机制,我总是很难弄清楚到底发生了什么。比如说, // DemoBundle\Administrator\UserAdmin class UserAdmin extends Admin { // Fields to be shown on create/edit forms protected function configureFormFields(FormM

我试图找到一些文档来描述保存和检索
SonataAdminBundle
数据的过程,因为当我遇到一些问题时,如果我不知道它的机制,我总是很难弄清楚到底发生了什么。比如说,

// DemoBundle\Administrator\UserAdmin
class UserAdmin extends Admin
{

    // Fields to be shown on create/edit forms
    protected function configureFormFields(FormMapper $formMapper)
    {
        $formMapper
            ->add('name', 'text', array('label' => 'Name'))
            ->add('lastName', 'text', array('label' => 'Last name'))
            ->add('email') 
            ->add('username')
            ->add('password')
            ->add('rolesCollection','entity',array(
            'class' => 'DemoBundle:Role',
            'property'=>'name',
            'expanded' => true,
            'compound' => true,
            'multiple' => true,
            'by_reference' => false
        ))
        ));
     }
}
当我点击
Update
按钮时:
SonataAdminBundle
调用了哪些方法来持久化用户和角色?
SonataAdminBundle
调用了哪些方法来显示持久化后的用户和角色数据?

我认为在这个过程中使用了两个基本的重要文件。首先是“BaseAdmin”类,它是
Sonata\AdminBundle\Admin\Admin.php
。您将始终从该类扩展实体管理类(请参见您自己的代码…),然后您将获得“控制器”,即
Sonata\AdminBundle\controller\CRUDController.php
,它将是处理所有CRUD操作的控制器。您可以轻松地覆盖该控制器,并为您的实体使用自定义CRUD控制器。关于这个主题的更多信息,请看一看(特别是)并希望回答您的问题