【发布时间】:2014-05-26 08:31:06
【问题描述】:
我有一个 Symfony FOSUserBundle,我在 Symfony2 应用程序中使用它。我遇到了一个问题,我需要帮助找到解决方案,因为我不确定它为什么会出现。安装后,我已经测试了注册和登录并且它们可以工作,但是现在当我尝试重置密码时,它给了我一个错误“选项“值”在约束 Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity 中不存在” .我没有修改 symfony2 供应商类,我确信我没有向 FOSUserBundle 添加任何其他内容来改变它的行为。这是我的 FOSUserBundle 配置:
fos_user:
db_driver: orm # other valid values are 'mongodb', 'couchdb' and 'propel'
firewall_name: main
user_class: Main\BundleName\Entity\User
service:
mailer: fos_user.mailer.twig_swift
registration:
confirmation:
enabled: true
from_email:
address: ....some email address here
sender_name: The senders name
这是我的实体类,我截断了 setter 和 getter 以减少这篇文章的长度: 命名空间 Main\BundleName\Entity;
use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
/**
* User
*
* @ORM\Table(name="User")
* @ORM\Entity
* @UniqueEntity("email", message="A user with the specified email already exists")
* @UniqueEntity("username", message="A user with the specified username already exists")
*/
class User extends BaseUser
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @var string
*
* @ORM\Column(name="password", type="string", length=255, nullable=false)
*/
protected $password;
/**
* @var string
*/
protected $salt;
/**
* @var string
*
* @ORM\Column(name="email", type="string", length=255, nullable=false)
*/
private $firstName;
/**
* @var string
*
* @ORM\Column(name="last_name", type="string", length=200, nullable=true)
*/
private $lastName;
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=200, nullable=true)
*/
private $name;
/**
* @var string
*
* @ORM\Column(name="thumbnail", type="string", length=200, nullable=true)
*/
// Getters and Setters ...truncated ....
public function __construct()
{
parent::__construct();
// your own logic
}
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set username
*
* @param string $username
* @return User
*/
public function setUsername($username)
{
$this->username = $username;
return $this;
}
/**
* Get username
*
* @return string
*/
public function getUsername()
{
return $this->username;
}
/**
* Set password
*
* @param string $password
* @return User
*/
public function setPassword($password)
{
$this->password = $password;
return $this;
}
/**
* Get password
*
* @return string
*/
public function getPassword()
{
return $this->password;
}
}
关于如何解决此错误的任何想法?
【问题讨论】:
-
你能给我们看看 Factory\WebServicesBundle\Entity\User 类吗?
-
是的,我已将其添加到初始帖子中
标签: php symfony fosuserbundle unique-constraint