Вы получаете разбитый на страницы список результатов из бэкэнда, но вы реализуете функцию поиска во внешнем интерфейсе.
Когда вы впервые go переходите на свою страницу, вы получаете первые 10 результатов с вашего сервера. , В то время ваше приложение React не подозревает, что нужно анализировать больше результатов, и может «видеть» только 10 разбитых на страницы результатов, отправляемых с вашего сервера. Отфильтровав эти результаты, вы не сможете получить любой другой результат, который не был отправлен сервером в первую очередь.
У вас есть 2 решения:
- Реализация клиента нумерации страниц -side,
- Реализация функции поиска на стороне сервера
Учитывая, что вы уже выполнили разбиение на страницы на сервере, я предполагаю, что у вас много результатов и что все они отправляются на один раз не будет практичным.
Это оставляет нам вариант № 2. Добавив к вашему примеру кода, вы можете сделать что-то вроде:
$tourists = Tourist::where('hotel_id', $request->hotel_id)
// Add this to filter results by first_name
->where('first_name', 'like', "%{$request->first_name}%"))
->orderBy('created_at', 'DESC')->paginate(10);
return $tourists;