Как избежать повторяющихся записей в отношениях «многие ко многим» с Doctrine?

Я используювставлять форму Symfony добавить и удалитьTag лица прямо из редактора статьи.Article этовладеющая сторона по ассоциации:

class Article
{
    /**
     * @ManyToMany(targetEntity="Tags", inversedBy="articles", cascade={"persist"})
     */
    private $tags;

    public function addTag(Tag $tags)
    {
        if (!$this->tags->contains($tags)) // It is always true.
            $this->tags[] = $tags;
    }
}

Условие здесь не помогает, так как оно всегда верно, и если это не так, никакие новые теги не будут сохранены в базе данных вообще. ЗдесьTag юридическое лицо:

class Tag
{
    /**
     * @Column(unique=true)
     */
    private $name

    /**
     * @ManyToMany(targetEntity="Articles", mappedBy="tags")
     */
    private $articles;

    public function addArticle(Article $articles)
    {
        $this->articles[] = $articles;
    }
}

Я установил$name к уникальному, потому что я хочу использовать один и тот же тег каждый раз, когда я ввожу одно и то же имя в форму. Но это не работает, и я получаю исключение:

Нарушение ограничения целостности: 1062 Повторяющаяся запись

Что мне нужно изменить, чтобы использоватьarticle_tagтаблица соединений по умолчанию при отправке имени тега, которая уже находится вTag Таблица?

Ответы на вопрос(2)

Ваш ответ на вопрос