我正在尝试创建一个2个字段的UniqueEntity(都是ManyToOne字段)。Doctrine @UniqueEntity与ManyToOne字段?
的代码如下:
/*
* @ORM\Table()
* @ORM\Entity
* @ORM\HasLifecycleCallbacks()
* @UniqueEntity(fields={"user", "connect"})
*/
class UserConnect
{
/**
* @var integer $id
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var boolean $isLeader
*
* @ORM\Column(name="isLeader", type="boolean")
*/
private $isLeader;
/**
* @var date $joinedDate
*
* @ORM\Column(name="joinedDate", type="date")
*/
private $joinedDate;
/**
* @ORM\ManyToOne(targetEntity="User", inversedBy="userConnects")
*
*/
private $user;
/**
* @ORM\ManyToOne(targetEntity="Connect", inversedBy="userConnects")
*
*/
private $connect;
我们的目标是确保我有只有一个实体,与一个CONNECT连接的用户。
我应该在@UniqueEntity
声明中写些别的东西吗?
这是不正确的。这将使得每个用户只能绑定一个连接,而每个连接只能绑定一个用户。 @Estopero的答案有正确的答案,以及这个解释 – Fodagus