Zum Inhalt springen

Entfernen von nestedObjects beim update

Erstellt am 30. Januar 2015 · Noch keine Antworten

Tags: Frage

Raidri ·

Hallo zusammen,

ich möchte bei meiner oneToMany Relation von der "1" Seite aus, ein Objekt löschen.

Dafür rufe ich auf

$customer->removeElement($person);
$customerRepository->update($customer);

Die Person bleibt allerdings in der Datenbank bestehen. Noch weiß ich nicht wieso. Vielleicht könnt ihr mir meinen Fehler aufzeigen? 🙂

.Hier einmal die Snippets aus meinen Models

Customer.php

/**
 * @Flow\Entity
 */
class Customer  {

	/**
	 * @var integer
	 * @Flow\Identity
	 * @ORM\Id
	 * @ORM\GeneratedValue(strategy="AUTO")
	 */
	protected $uid;

	/**
	 * @var integer
	 */
	protected $crUser;

	/**
	 * @var \Doctrine\Common\Collections\Collection<..\Domain\Model\Person>
	 * @ORM\OneToMany(mappedBy="customer", cascade={"all"})
	 */
	protected $persons;

/**
	 * @return \Doctrine\Common\Collections\Collection<..\Domain\Model\Person>
	 */
	public function getPersons() {
		return $this->persons;
	}

	/**
	 * @param \Doctrine\Common\Collections\Collection<..\Domain\Model\Person> $persons
	 * @return void
	 */
	public function setPersons(\Doctrine\Common\Collections\Collection $persons) {
		$this->persons = $persons;
	}

	/**
	 * Adds a project to this customer
	 *
	 * @param ..\Domain\Model\Person $person
	 * @return void
	 */
	public function addPerson(..\Domain\Model\Person $person) {
		$this->persons->add($person);
	}

	/**
	 * Removes a project from this customer
	 *
	 * @param ..\Domain\Model\Person $person
	 * @return void
	 */
	public function removePerson(..\Domain\Model\Person $person) {
		$this->persons->removeElement($person);
	}

?>

und hier die Person.php

/**
 * @Flow\Entity
 */
class Person {
	/**
	 * @var integer
	 * @Flow\Identity
	 * @ORM\Id
	 * @ORM\GeneratedValue(strategy="AUTO")
	 */
	protected $uid;

	/**
	 * @var ..\Domain\Model\Customer
	 * @ORM\ManyToOne(inversedBy="persons")
	 */
	protected $customer;
?>