мне кажется дублируется информация. Как минимум от кого и кому можно в одной и моделей удалять. Если диалог один, то я бы удалил вообще модель диалог, а если много, то сделал бы так:
сообщение:
-отправитель
-дата
-текст
-диалог
можно расширять для пометок сообщения, лайки и.т.д
диалог:
участники2диалог
можно помечать диалоги, как рабочие/личные, настраивать на самоуничтожение, добавить создателя, добавить роли (админ, юзер)
участники2диалог:
юзер
но это только мое мнение, не претендую