Перечислите только уникальные идентификаторы из двух столбцов.Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Перечислите только уникальные идентификаторы из двух столбцов.

Сообщение Anonymous »

Я создаю базовую систему личных сообщений в Laravel и хочу отображать список цепочек сообщений между двумя пользователями (для пользователя, вошедшего в систему) в качестве основного почтового ящика.

На данный момент все сообщения хранятся в одной таблице. Таблица содержит «sender_id» и «recipient_id», а также содержимое сообщения.

Чтобы получить список сообщений для отображения во входящих, я сейчас делаю это в контроллере:

Код: Выделить всё

    //Authenticate the user
$user = auth()->user()->id;

$messagesSent = Message::where('sender_id', $user)->get();
$messagesReceived = Message::where('recipient_id', $user)->get();

$messageThreads = $messagesReceived->merge($messagesSent);
В колонке для отображения списка тем, которые я делаю:

Код: Выделить всё

            [list]

@foreach ($messageThreads as $message)

@if($message->user->id != $user)

[*][url=/messages/view/{{$message-]user->id}}">{{$message->user->displayName}}[/url]

@else

[*][url=/messages/view/{{$message-]recipient->id}}">{{$message->recipient->displayName}}[/url]

@endif

@endforeach

[/list]
Как и ожидалось, здесь просто отображаются имена пользователей, от которых пользователь отправлял сообщения или получал сообщения, а также ссылка на ветку, но если у пользователя было между собой несколько сообщений, их имя, очевидно, будет отображаться несколько раз.

Пример того, как оно выводится в данный момент
  • Тема пользователя 1
  • Тема пользователя 1
  • Тема пользователя 1
  • Тема пользователя 2
  • Тема пользователя 2
  • Тема пользователя 3
  • Пользователь 3 Тема
Как должно выводиться:


[*]Тема пользователя 1
[*]Тема пользователя 2
[*]Тема пользователя 3


Я хочу быть уверен, что имя и ссылка на тему будут указаны только один раз.

Я пробовал использовать Different() и unique(), однако, поскольку sender_id и получатель_id являются отдельными столбцами, я все равно получаю повторяющиеся результаты.

Как бы я смог это преодолеть?

Спасибо

Подробнее здесь: https://stackoverflow.com/questions/505 ... -2-columns
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»