Alexei Fedorov
У Константина красивое (на мой взгляд) решение. Но такое писать у себя лень) Вот не вижу пока явной нужды)
Мне бы в уже привинченном Softdeleteable восстановить удалённый элемент, была бы красота.
А в чем собственно проблема? Ваш кейс работает, только надо обернуть его в абстракцию. Банально в репо $repo->restoreById();