В настоящее время я создаю базовую систему личных сообщений в Laravel.В моей базе данных у меня есть таблица сообщений.Два столбца являются «sender_id» и «receient_id».
То, что я пытаюсь сделать, - это использовать eloquent для просмотра этой таблицы и перечисления в папке «Входящие» всех случаев, когда в этих столбцах указан текущий зарегистрированный идентификатор пользователя.Затем я буду использовать «отличный», чтобы игнорировать повторяющиеся записи, чтобы пользователь был указан только один раз.Используя этот идентификатор, я могу отобразить имя пользователя получателя, чтобы, когда пользователь нажимает на имя пользователя, оно передавало их в ветку сообщений для этого пользователя.
Ради тестирования я только сейчас извлекаю столбец "receient_id" и выводю его в блейд.Вот строка, которая, я считаю, должна выводить получателя только один раз, несмотря на то, что его много раз встречали в таблице.
MessageController
$messages = Message::where('recipient_id', $user)->distinct('recipient_id')->get();
Однако в блейде один и тот же пользователь выводится дважды (так как у них найдено 2 сообщения), когда я ожидал, что будет отличная функцияудалить дубликат записи.
Я также пытался
$messages = Message::where('recipient_id', $user)->distinct()->get();
Но это тоже не сработало.
Если я получил 3 сообщения от 2 разных пользователей, он выводит что-то вроде следующего:
Сообщения от:
- Пример пользователя 1
- Пример пользователя 1
- Пример пользователя 2
Что он должен выводить
- Пример пользователя
- Пример пользователя 2
Спасибо