我正在嘗試創建一個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