Я пытаюсь создать систему сообщений на моем Symfony 4.4 веб-сайте, я создал сущность Сообщение со следующими полями:
- sentFrom (Entity User)
- sentTo (Entity User)
- содержание (текст)
- просмотрено (bool)
- ОпубликованоAt (дата / время)
Моя страница с одним разговором готова :
->select('m')
->where('m.sentTo = :sender AND m.sentFrom = :receiver')
->orWhere('m.sentTo = :receiver AND m.sentFrom = :sender')
->setParameter('sender', $sender)
->setParameter('receiver', $receiver)
->orderBy('m.publishedAt', 'ASC')
Теперь я пытаюсь создать индексную страницу разговоров со списком разговоров, упорядоченных по дате публикации. Я могу выбрать всех текущих отправленных или полученных сообщений пользователя, выполнив следующие действия:
->select('m')
->join('m.sentFrom', 'f')
->join('m.sentTo', 't')
->where('f = :user OR t = :user')
->setParameter('user', $user)
->orderBy('m.publishedAt', 'DESC')
Но я хочу сгруппировать все сообщения пользователей, с которыми он болтает, и упорядочить по DES C по последнему опубликованному сообщению. пользователь. Или, может быть, я должен создать систему сообщений по-другому? Заранее спасибо.