Я пытаюсь выполнить простой CRUD с помощью доктрины 2, но когда пришло время обновить запись с одним свойством, установленным как коллекция массивов, мне кажется, что removeElement () не работает должным образом. Я даже пытался сделать это таким до смешного уродливым способом:
foreach($entity->getCountries() as $c) {
$entity->getCountries()->removeElement($c);
$this->em->persist($entity);
$this->em->flush();
}
, и это не сработало ... Кто-нибудь знает, как с этим справиться? Я просил найти решение этой проблемы во многих различных формах и пока не получил хорошего ответа ... похоже, нет хороших примеров обработки Doctrine 2 CRUD. Я опубликую больше кода по запросу.
Edit
//in user entity
/**
*
* @param \Doctring\Common\Collections\Collection $property
* @OneToMany(targetEntity="Countries",mappedBy="user", cascade={"persist", "remove"})
*/
private $countries;
//in countries entity
/**
*
* @var User
* @ManyToOne(targetEntity="User", inversedBy="id")
* @JoinColumns({
* @JoinColumn(name="user_id", referencedColumnName="id")
* })
*/
private $user;