Tôi đang sử dụng DoctrineExtensions với StofDoctrineExtensionsBundle để nhận hành vi xóa mềm.Hành vi không thể thực hiện được và thực sự xóa đối tượng
Nó hoạt động thực sự tốt trong giao diện người dùng của ứng dụng của tôi.
Trong chương trình phụ trợ, tôi cần tùy chọn xóa các thực thể "cứng".
tôi đã vô hiệu hóa bộ lọc trong bộ điều khiển quản trị của tôi (tôi sử dụng SonataAdmin):
$filters = $this->getModelManager()->getEntityManager($this->getClass())->getFilters();
if (array_key_exists('softdeleteable', $filters->getEnabledFilters())) {
$filters->disable('softdeleteable');
}
này hoạt động (thực thể xóa mềm hiển thị trong danh sách), nhưng khi tôi cố gắng để xóa nó, đơn vị thực hiện lại bị xóa mềm. Làm thế nào tôi có thể buộc một "cứng" xóa?
Làm thế nào để bạn kích hoạt lại nó sau này? – Jessica
@Jessica, bạn có thể sử dụng 'addEventListener' http://api.symfony.com/2.4/Symfony/Bridge/Doctrine/ContainerAwareEventManager.html#method_addEventListener – Dmitriy
Cảm ơn rất nhiều, những gì tôi đã làm là lưu trữ tên của bất kỳ sự kiện nào tôi đã làm loại bỏ nó, sau đó lặp lại và thêm lại. – Jessica