Laravel Загрузить больше сообщений - PullRequest
0 голосов
/ 18 марта 2020

Я использую Laravel Messenger Package и хочу сделать Load more for messages. В текущей ситуации я передаю идентификатор (начиная с 0) и получаю каждые 5 запросов, но не могу использовать идентификатор, потому что есть также строка «user_id».

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

Ajax работает, показывает сообщения, но не все. Только 10 из 15.

Это код:

    function load_data(Request $request){
 if($request->ajax()){
  if($request->id > 0){
    $threads = Thread::forUser(Auth::id())
    ->latest('updated_at')
    ->where('threads.id', '<', $request->id)
    ->limit(5)
    ->get();
  }else{
    $threads = Thread::forUser(Auth::id())
    ->latest('updated_at')
    ->limit(5)
    ->get();
  }
  $output = '';
  $last_id = '';

  if(!$threads->isEmpty()){
   foreach($threads as $thread){
    $class = $thread->isUnread(Auth::id()) ? 'mdi-new-box favorite' : '';
    $output .= ' <a href="'.route('member.poruka', $thread->id).'">
     <div class="mail-list">
       <div class="preview-thumbnail align-self-center">
         <div class="preview-icon">
             <img class="mdi mr-3" src="'.$thread->creator()->main_image.'">
             <p>'.$thread->creator()->name.'</p>
       </div>
       </div>
       <div class="content align-self-center">
         <p class="sender-name"><b>'.$thread->subject.'</b></p>
         <p class="message_text">'.$thread->latestMessage->body.'</p>
       </div>
       <div class="details">
         <i class="mdi '.$class.'"></i>
       </div>
     </div>
   </a>
   ';
    $last_id = $thread->id;
   }
   $output .= '
   <div id="load_more">
    <button type="button" name="load_more_button" class="btn btn-success form-control" data-id="'.$last_id.'" id="load_more_button">Load More</button>
   </div>
   ';
  }else{
   $output .= '
   <div id="load_more">
    <button type="button" name="load_more_button" class="btn btn-info form-control">No Data Found</button>
   </div>
   ';
  }
  echo $output;
 }
}

Это предложение "WHERE" создает проблему. Я думал о том, чтобы поместить все потоки в массив и в основном "обмануть" идентификатор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...