Почему Symfony2 Form вызывает remove* вместе c add* ?

У сущности есть свойство posts.
Если сделать сеттер
setPosts($posts)
{
    //...
}

то все нормально, все как надо. Полю присваиваются нужные posts

А если вместо set будет add
addPosts($posts)
{
    //...
}

То происходит что то непонятное. Форма будет требовать чтобы кроме addPosts($posts) обязательно был еще и removePosts($posts). И вызовет его до/после addPosts($posts)
Есть оба метода в классе. И add* и remove*.
Вопрос: Как сделать так, чтобы remove* не вызывался вместе с add* ?
  • Вопрос задан
  • 2285 просмотров
Пригласить эксперта
Ответы на вопрос 1
svscorp
@svscorp
Когда мы говорим об add и remove, имеется ввиду работа с отношением ManyToMany, например, т.е. с коллекциями ArrayCollection.

Т.е. если у вашей сущности есть свойство posts, которое является ManyToMany или OneToMany к сущности Post, то Symfony будет искать addPost(Post $post) и removePost(Post $post).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы