我找不到以我可以理解的方式编写的文档,所以我向您寻求帮助。这个问题与唯一实体有关 - Symfony2
我有一个名为category的表,其中包含三个字段 - id、fos_user_id和name。另一个表称为fos_user并具有字段 id、username 等。
我希望类别对用户来说是唯一的。一个用户不能有两个名为“食品”的类别,但所有用户都可以有一个名为“食品”的类别。
在另一个问题中,有人建议我尝试这样的事情:
* @ORM\Table(name="categories",
* uniqueConstraints={@ORM\UniqueConstraint(name="name_user_id__idx",
* columns={"name", "user_id"})})
我试过这个:
/**
* @ORM\Entity
*
* @ORM\Table(name="category",
* uniqueConstraints={@ORM\UniqueConstraint(name="name_user_idx",
columns={"name", "fos_user_id"})}))
* @ORM\Entity(repositoryClass="Acme\BudgetTrackerBundle\Entity\CategoryRepository")
* @UniqueEntity(fields={"name", "fos_user_id"}, message="There already is such a category.")
*/
但我收到此错误:
字段 'fos_user_id' 没有被 Doctrine 映射,因此无法验证其唯一性。
我不太明白这个错误。而且我不明白有约束的部分。这是正确的语法和正确的写法吗?
非常感谢您!
PS:对不起,如果我不应该提出一个新问题,但我添加了很多新东西,并决定一个新问题比编辑旧问题并在评论中提问要好。