На странице не обновляется пагинация - Laravel
@if ($posts->lastPage() > 1)
<div class="clearfix">
<ul class="pagination" id="pagination-links">
{{ $posts->links('Pagination.custom') }}
</ul>
</div>
@endif
Скрипт (jquery 3.6):
$(document).ready(function() { $(document).on('change', '#entries', function() {
var Page = $(this).val();
$.ajax({
url: '/posts',
type: 'GET',
data: {
Page : Page ,
},
dataType: 'json',
success: function(data) {
console.log(data.posts)
}
});
});
Код контроллера:
public function show_posts(Request $request) {
$Page= $request->input('Page', 5);
$posts= $posts->paginate($Page);
if ($request->ajax()) {
$tableContent = view('Posts', [
'posts' => $posts,
])->render();
return response()->json([
'posts' => $posts,
]);
}
return view('Posts', [
'posts' => $posts,
]);
}
Я хочу понять, что я делаю не так. Page (выбирается в выпадающем меню #entries) изменяет количество отображаемых постов на одной странице (5, 10, 15 и тд). Когда я меняю Page с 5 на 10, то у меня должно становиться меньше ссылок в пагинации (и наоборот соответственно). Но ничего не происходит, однако console.log(data.posts) отображает все правильно (lastPage там соответствует истине при выбранном Page), в то время как $posts, который в разметке blade.php, вообще никак на изменения не реагирует. Я проверял у него lastPage - оно каким было при загрузке страницы, таким и остается без изменений. Что мне сделать, чтобы пагинация на странице изменялась в зависимости от Page?