我正在使用这个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处理。