Задать вопрос

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

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

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

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

То происходит что то непонятное. Форма будет требовать чтобы кроме addPosts($posts) обязательно был еще и removePosts($posts). И вызовет его до/после addPosts($posts)
Есть оба метода в классе. И add* и remove*.
Вопрос: Как сделать так, чтобы remove* не вызывался вместе с add* ?
  • Вопрос задан
  • 2286 просмотров
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • ProductStar
    Python: навык ООП и функционального программирования
    1 месяц
    Далее
  • Учебный центр IBS
    ARC-005 Аналитические шаблоны
    1 неделя
    Далее
  • Skillfactory
    Разработчик игр на Unity
    18 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
svscorp
@svscorp
Когда мы говорим об add и remove, имеется ввиду работа с отношением ManyToMany, например, т.е. с коллекциями ArrayCollection.

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

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

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