removeElement () и clear () не работают в доктрине 2 со свойством коллекции массивов

Я пытаюсь выполнить простой 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;
8
задан la_f0ka 24 June 2011 в 01:08
поделиться