如何用 Laravel 加载更多消息?

我正在使用这个Laravel Messenger 包 加载更多信息。在当前情况下,我从0开始传递ID,每5个查询取一次,但是我不能使用ID,因为还有行“user_id”。

有多个表具有关系、线程、参与和消息,一旦线程被静态地调用,就会有其他模式连接到它。

AJAX正在工作,它不会显示全部消息,15个中只显示10个。

代码:

    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”子句出了问题, 我做的时候只考虑到要将所有线程放入数组中,所以对ID进行了cheat处理。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^