Symfony и Doctrine — невозможно удалить элемент из коллекции (отношение «многие ко многим» с дополнительным полем)

Всем добрый день!
У меня есть вопрос о сохранении коллекций в Symfony и Doctrine

Короткая версия

Я могу добавить элемент в коллекцию (сохранить) через форму, но не могу удалить (удалить).

Логика

Мне нужна возможность добавлять пользователей в командировки. Каждый добавленный пользователь должен иметь текстовое описание (например, цель командировки).

На самом деле, у меня есть 3 объекта:

  • Командировка
  • BusinessTripUser (хранит связанный идентификатор пользователя, идентификатор BusinessTrip и текстовое поле «описание»)
  • Пользователь (сущность поставщика)

Эта проблема

Как я уже сказал выше — я не могу удалить BusinessTripUser из коллекции $ users в BusinessTrip.
Я упомянул, что если я удалю однонаправленную связь между BusinessTripUser и User — все работает нормально. Похоже, это отношение мешает механизму orphanRemoval удалить потерянный объект BusinessTripUser.

Отношения между сущностями

введите описание изображения здесь

class BusinessTrip
{
/**
* @ORM\OneToMany(targetEntity="OQ\BusinessTripBundle\Entity\BusinessTripUser", mappedBy="businessTrip", cascade={"persist","remove"}, orphanRemoval=true)
*/
protected $users;
}

 

class BusinessTripUser
/**
* @ORM\ManyToOne(targetEntity="Oro\Bundle\UserBundle\Entity\User")
* @ORM\JoinColumn(name="user_id", referencedColumnName="id", nullable=false)
*/
protected $user;

/**
* @ORM\ManyToOne(targetEntity="OQ\BusinessTripBundle\Entity\BusinessTrip", inversedBy="users")
* @ORM\JoinColumn(name="business_trip_id", referencedColumnName="id", nullable=false)
*/
protected $businessTrip;
}

Symfony v2.7.3, Doctrine v2.5.1

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]