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;
?>