私が理解できるように書かれたドキュメントが見つからなかったので、助けを求めています。この質問はUnique entity - Symfony2に関連しています
id、fos_user_id、nameの3 つのフィールドを持つcategoryというテーブルがあります。もう 1 つのテーブルはfos_userと呼ばれ、id、ユーザー名などのフィールドがあります。
カテゴリをユーザーごとに一意にしたい。1 人のユーザーが "Food" という名前のカテゴリを 2 つ持つことはできませんが、すべてのユーザーが "Food" というカテゴリを持つことができます。
他の質問では、次のようなことを試すようにアドバイスされました。
* @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:新しい質問を開いて申し訳ありませんが、新しい質問をたくさん追加したので、古い質問を編集してコメントで質問するよりも新しい質問の方が良いと判断しました。