я прописал при удалении удаление сущности2, а в обсервере сущности2, при удалении, прописано удаление сущности3. Так вот, удаляя сущность1, удалится ли сущность3?
такое поведение все же лучше через базу реализовывать, через foreign ключи да и надежнее. Ваш вариант тоже по идее сработает, если вы будете удалять через модель а не напрямую в базе. так как евент будет дергаться при каждом удлении
Проблема в том, что все реализовано на мягком удалении, ибо, помимо удаления, то же самое нужно будет провернуть с восстановлением, я согласен, что задать правила удаления более правильный вариант, но необходимость восстановления даёт под зад
в таком случае посмотрите на использование глобального скоупа, я не знаю какая у вас связь в базе, но я делал у себя на проекте так: софт делит на главную модель, и глобальный скоуп для подчиненных моделей, если в главной заполнено delete_at игнорить запись. Ну а на окончательное удаление foreign ключи, это как минимум уменьшит количество обращений к базе. Что крайне чуствительно когда у вас есть к одной модели хотя бы 20к дочерних записей
Спасибо, со скоупами я ещё не знаком, буду разбираться
Обсуждают сегодня