我正在创建管理 View ,我可以在其中列出用户并创建用户。
我已经创建了 User 类,但我不确定如何保留它。
我是否需要手动创建表单然后保存它?
我已经使用正常保存进行了保存,但随后执行了验证。
我想知道我是否需要手动编码密码等,或者 FOSUserBundle 会为我做这些。
最佳答案
我假设您不打算使用 ...
/register route/method对于新用户app/console fos:user:create testuser test@example.com p@ssword...正如您所说的管理(网络)界面。
回答:
在 ContainerAware 类(即 Controller )中 ...
...您可以重新使用默认注册表单并禁用验证:
$user = new User();
$this->createForm(
$this->get('fos_user.registration.form.type'),
$user,
array(
'validation_groups' => false,
)
);
以下是如何手动创建一个新的 User 并将其保存到数据库中:
$om = $this->container->get('doctrine.orm.entity_manager');
$manager = $this->container->get('fos_user.user_manager');
$user = $manager->createUser();
$user
->setUsername('nifr')
->setEmail('dont@spam.me')
->setPlainPassword('Insecure123')
->setEnabled(true)
;
$om->persist($user);
$om->flush();
关于php - Symfony2 : How to persist a new User in an admin-interface with FOSUserBundle?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22031535/