爲了避免Slowly Changing Dimension problem(簡而言之:即使用戶從系統中刪除,我想保留我的訂單數據),我想過劫持delete
事件和而是在記錄上設置invalid
標誌。學說:劫持刪除操作,並使記錄無效
我知道,從StofDoctrineExtensionsBundle的
softdeletable
過濾器,但我不能確定這是否會級聯到子對象。這是一個常見的/好的做法/主意,這樣做有以下生命週期回調?:
/
/**
* @ORM\PreRemove
*/
public function makeInvalid() {
$this->enddate = new \DateTime(); // set the end of validity property to now
cascadeToRelatedObjects(); // i.e. make sure all 'child' objects also change validity
somehowContinueTheOperation(); // i.e. do not cause an Error of sorts
}
- 或者我應該,而是改變功能的表單上的刪除按鈕,並分配一個更新功能,它做到了上述?