Symfony 使用FOSUserBunde归档用户
我必须归档我的用户。我向用户实体添加了一列以将其设置为已存档。但我在使用这种方法时遇到了一些问题。我的用户名在存档用户和未存档用户之间可以相同,电子邮件也是一样。 第一个问题:如何防止电子邮件和用户名出现违反唯一约束的错误? 第二个问题:如何在功能中只检查FOS而不是存档用户Symfony 使用FOSUserBunde归档用户,symfony,fosuserbundle,Symfony,Fosuserbundle,我必须归档我的用户。我向用户实体添加了一列以将其设置为已存档。但我在使用这种方法时遇到了一些问题。我的用户名在存档用户和未存档用户之间可以相同,电子邮件也是一样。 第一个问题:如何防止电子邮件和用户名出现违反唯一约束的错误? 第二个问题:如何在功能中只检查FOS而不是存档用户 您可以在存档用户的姓名和电子邮件中添加前缀。前任: 已存档。%id%。。或者把他们移到另一张桌子上 扩展UserManager类并重写选择用户的方法 namespace MyFOSUserBundle; class Us
已存档。%id%。
。或者把他们移到另一张桌子上UserManager
类并重写选择用户的方法
namespace MyFOSUserBundle;
class UserManager extends \FOS\UserBundle\Doctrine\UserManager
{
public function findUserBy(array $criteria)
{
$criteria['archived'] = 0;
return $this->getRepository()->findOneBy($criteria);
}
public function findUsers()
{
return $this->getRepository()->findBy(array('archived' => 0));
}
}
在FOSUserBundle
参数中将此类设置为UserManager
:
services:
my_fos_user.user_manager:
class: MyFOSUserBundle\UserManager
arguments:
- "@fos_user.util.password_updater"
- "@fos_user.util.canonical_fields_updater"
- "@fos_user.object_manager"
- "%fos_user.model.user.class%"
fos_user:
service:
user_manager: my_fos_user.user_manager