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

时间:2014-02-09 15:52:26

标签: symfony sonata-admin

我试图找到一些文档来描述持久化和检索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调用哪些方法在持久化后显示用户和角色数据?

1 个答案:

答案 0 :(得分:0)

在我看来,这个过程中基本上使用了2个重要文件。首先,你有“BaseAdmin”类,Sonata\AdminBundle\Admin\Admin.php。你总是从那个扩展你的实体管理类(参见你自己的代码......),其次你得到了Sonata\AdminBundle\Controller\CRUDController.php的“控制器”,它将成为处理所有CRUD操作的控制器。您可以轻松覆盖该实体,并为您的实体使用自定义CRUD控制器。有关此主题的更多信息,请查看here(特别是4.14.2)希望能回答您的问题。