Как заказать смс по дате отправки - PullRequest
0 голосов
/ 12 сентября 2018

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

Я получаю свое сообщение следующим образом.

$receivedMessages = $twilio->messages
                         ->read(array(
                                 "from" => $user->phone,
                                 "to" => $siteNumber,
                             )
                         );

     $sentMessages = $twilio->messages
                         ->read(array(
                                 "from" => $siteNumber,
                                 "to" => $user->phone,
                             )
                         );

     $combinedMessages = array_merge($receivedMessages, $sentMessages);

Я передаю переменную combniedmessage своему представлению, затем перебираю их и применяюстиль отличается от входящих и исходящих сообщений.

 <ul class="text-container incoming-container">
           @foreach($combinedMessages as $message)
             <li class="text-message
              @if($message->direction == 'inbound')
                incoming-text
              @elseif($message->direction == 'outbound-api')
                outgoing-text
              @endif">
              <span>
                {{$message->body }}
              </span></br>
              <small>
                {{ (string)$message->dateCreated->format('d-m-Y H:i:s')}}
              </small>
             </li>
          @endforeach
         </ul>

Входящие отображаются первыми, а исходящие - вторыми.Как я могу показать их в порядке, когда они были отправлены, независимо от направления.

1 Ответ

0 голосов
/ 12 сентября 2018

Вам необходимо отсортировать массив $combinedMessages с помощью пользовательской функции сортировки, которая будет сортировать по дате сообщения объекта.

Проверьте команду uasort () здесь: http://php.net/manual/en/function.uasort.php

<?php
// Sample Comparison function
function cmp($a, $b) {
    if ( $a->message_timestamp == $b->message_timestamp ) {
        return 0;
    }
    return ( $a->message_timestamp < $b->message_timestamp ) ? -1 : 1;
}

uasort( $combinedMessages, 'cmp' );
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...