0

ユニークなエンティティは私にとっては素晴らしい働きをしますが、1つの問題があります。ユーザーとカテゴリがあります。各カテゴリには、どのユーザーが作成し、どのユーザーに属するかを明確にするためにuser_idがあります。私が欲しいのは、カテゴリをユーザーごとに一意にすることです。つまり、1人のユーザーが同じ名前の2つのカテゴリを持つことはできませんが、2人の異なるユーザーがまったく同じカテゴリを持つことはできます。

一意のエンティティのようなものでこれをより良い方法で達成する方法はありますか、または名前とユーザーによってカテゴリの数をカウントし、検証に使用する関数を作成する方が良いですか?指定された名前のカテゴリがすでに存在する場合このユーザーの場合-メッセージを印刷します。それ以外の場合は、新しいカテゴリを作成します。

4

1 に答える 1

4

カテゴリテーブルのname列とuser_id列に一意のインデックスを作成するだけです。

何かのようなもの:

* @ORM\Table(name="categories",
*            uniqueConstraints={@ORM\UniqueConstraint(name="name_user_id__idx", 
*                                                     columns={"name", "user_id"})})

そして、これらのフィールド名をに渡しますUniqueEntity

于 2013-03-25T13:43:23.957 に答える