I have a class Category containing this:
/**
* @ORM\OneToMany(targetEntity="Friend", mappedBy="category")
* @ORM\OrderBy({"name" = "ASC"})
*/
protected $friends;
and a class Friend with this:
/**
* @ORM\ManyToOne(targetEntity="Category", inversedBy="friends")
* @ORM\JoinColumn(name="category_id", referencedColumnName="id", onDelete="SET NULL")
*/
protected $category;
What I want is to be able to delete categories no matter if there are some friends from this category, and if there are - the category field for this friends to be set to NULL.
I tried to put onDelete="CASCADE"
to the ManyToOne annotation, then to the OneToMany, I tried what is shown above, I tried using cascade={"remove"}
in the OneToMany annotation, and nothing worked! I couldn't find a example as well. Could you please help me?
This must be a crazy answer but did you update database schema? onDelete="SET NULL"
is on database level, it must work on innoDB.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.