Po pierwsze nie usuwa się takich rzeczy, tylko zmienia na niewidoczne.
Pokazywałem tobie, jak mają wyglądać tabele:
https://i.imgur.com/VMbsLdh.png
Musisz ustawić w message_recipient delete_at odpowiednią date.
Jeśli nie rozumiesz, jak działa ta tabela, to napisz to.
PS pamietaj, że musisz sprawdzić uprawnienia, czy zalogowana osoba może "usunąć" daną wiadomość. (jest adminem lub właścicielem wiadomości).