Как закодировать кнопки предыдущей и следующей записи в представлении обновления laravel?

#laravel #navigation

Вопрос:

Как лучше всего закодировать кнопки «Предыдущий» и «следующий» в представлении обновления в laravel, что позволит перемещаться по записям, не выходя из представления обновления (не возвращаясь к представлению индекса/списка).

У меня есть функция индекса контроллера, которая генерирует коллекцию записей, которая отображается в представлении индекса/списка в моем проекте. Этот список может быть отсортирован по различным полям, asc или desc, или быть подсписком (при поиске ключевых слов)… таким образом, существует не только один порядок сортировки, и общее количество записей nbr может варьироваться.

Моя идея состояла в том, чтобы создать строку со всеми индексами и идентификаторами таблицы (в контроллере списка) и сохранить этот список в файле cookie.

 $string = '';
$i = 0;
foreach ($records as $record) {
    $string .= $i.'|'.$record->id.',';
    $i  ;
}
 

Первая проблема заключается в том, что файлы cookie ограничены по размеру не более 4K. Поэтому я мог бы уменьшить эту строку только до 10 записей с каждой стороны текущей записи, чтобы разрешить навигацию -10 10. Не идеально.

Другим вариантом было бы загрузить всю ту же коллекцию (в данном случае только поле идентификатора) внутри функции обновления контроллера и закодировать маршруты для кнопок навигации в представлении обновления. Это будет означать перенос того же порядка сортировки и параметров поиска из индекса/списка в функции обновления. Разве это правильный способ сделать это?

Или есть лучший вариант, скрытый в Laravel?