Symfony Embedded Relation Many2Many - связывание уникальных полей или создание новых полей - PullRequest
2 голосов
/ 23 февраля 2011

Я использую встроенное отношение, чтобы позволить пользователю редактировать / добавлять книги в библиотеку и в той же форме добавлять / удалять n авторов, написавших книгу в автоматически сгенерированном администраторе.

Здесьмоя проблема: имя автора уникально, поэтому при вводе автора, который уже существует, sfValidatorDoctrineUnique выдает ошибку.

Объект с таким же именем уже существует.

Я хочу поймать эту ошибку и сказать форме, чтобы она не пыталась добавить существующего автора заново.

Использую ли я для этого систему событий, или модифицирую валидаторы, или как мне это сделать?сделать это?

большое спасибо, балахон

PS: после некоторых поисков я нашел что-то, что могло бы быть решением, но я еще не заставил его работать http://symfonyguide.wordpress.com/2009/09/28/symfony-forms-saving-process/

1 Ответ

0 голосов
/ 24 февраля 2011

Мне кажется, вы не должны добавлять нового автора, если он уже существует.

sfDoctrineActAsTaggablePlugin делает то же самое.Он ищет существующие теги и объединяет их с текущими (добавленными пользователем из формы) тегами.

Но есть одна проблема: два автора - Александр Пушкин и Александр Пушкин, это одни и те же авторы для нас, но разныедля машины.

...