我擁有關係的擁有一方的實體File
,Document
位於反轉端。存在級聯刪除,因此當Document
被刪除時,所有相關的File
實體也被刪除。doctrine post在symfony上刪除級聯刪除監聽器
現在我有一個postRemove()
方法的實體監聽器File
。但事件只是被解僱,當我直接刪除實體,而不是通過級聯刪除完成。
是否有解決方案觸發級聯刪除postRemove事件?
一個解決方案是將postRemove事件放到Document中,但這不會很乾淨,因爲文檔不應該關心File postRemove的東西。 或者我可以通過文檔中的postRemove替換級聯刪除,逐個刪除File實體。但我想保持目前的級聯。
那麼,有什麼辦法可以觸發級聯內的事件嗎?
這是我當前的事件代碼:
File.orm.yml
AppBundle\Entity\File:
type: entity
entityListeners:
AppBundle\EventListener\FileListener:
postRemove: [postRemove]
監聽器類
class FileListener {
public function postRemove(File $file) {
dump($file); die();
}
}
service.yml
file_listener:
class: AppBundle\EventListener\FileListener
arguments: ['%path_image%', '%path_thumb%', '%path_preview%']
tags:
- { name: doctrine.orm.entity_listener }
- { name: doctrine.orm.entity_listener, entity_manager: custom }