예제 #1
0
 public function threadsWithNewMessagesForPoll()
 {
     $updatedThreadsIds = $this->threadsWithNewMessages();
     $updatedThreads = Thread::whereIn('id', $updatedThreadsIds)->get();
     $updatedThreads = $updatedThreads->filter(function ($thread) {
         return strtotime($thread->updated_at) >= strtotime($thread->getParticipantFromUser($this->id)->last_poll);
     });
     foreach ($updatedThreads as $thread) {
         foreach ($thread->messages as $message) {
             $message->timeDiffForHumen = $message->created_at->diffForHumans();
             $message->senderDetails = $message->user->first_name . " " . $message->user->last_name;
             $message->layout = $message->user_id == $this->id ? "right" : "left";
         }
     }
     return $updatedThreads;
 }