Laravel - Zapamiętywanie checkboxów w paginacji

0

Witam,
Mam w Laravelu listę pozycji, do których są przypisane checkboxy - jest to formularz. Problem w tym, że lista ma w sobie kilka tys. tych pozycji a co za tym idzie strona ma kilometr. Chciałbym zrobić dla niej paginację ale taką, że np. jak wybiorę kilka pozycji ze strony nr 1 i kilka ze strony nr 5 to z formularzem zostaną wysłane wszystkie zaznaczone pozycje. Jak można tego dokonać w Laravelu? Próbowałem za pomocą zrobić paginację bez przeładowywania(w jQuery) ale coś to nie chciało działać i paginacja musiała by tak wyglądać w całym serwisie a chciałbym ją tylko w tym konkretnym formularzu.

0

Nie do konca rozumiem jak zrobiles ta paginacje?
Pokaz kontroler.
Kilka tysiecy czyli ile?

0

@john_doe: do paginacji użyłem tej gotowej z Lara( {{ $matches->links() }} ), kilka tysięcy to obecnie 2k ale ta liczba może się zwiększać. Jeśli chodzi o kontroler to nic specjalnego w nim nie ma. Zwykła funkcja, która pobiera jakieś parametry, zapytanie do bazy danych kończące się ->paginate(20) i wynik zwracam do widoku.

1

Rozumiem, masz dwie opcje:

  1. Paginowac tak jak probujesz ale wtedy musisz sprytnie zapisywac kroki w sesji, obsluzyc powrot do kroku n-1, etc

  2. Mizesz tez pobrac te parametry wszystkie na raz i podzielic na kroki, taby .... po stronie frontu. Obsluzyc walidacje w taki sposob aby pokazywac 1szy tab z bledami

  3. A czy nie możesz podzielić tych parametrów jakoś tematycznie?

0

@john_doe: dzięki, myślałem właśnie nad opcją nr 2 tylko czy to w późniejszym etapie nie będzie zamulało strony gdy się będzie chciało na nią wejść? Mogę w sumie spróbować tylko jak to sprytnie zrobić żeby dane zostały podzielone na odpowiednią liczbę tabów i pierwszy tab miał np. dane 1-20, kolejny 21-40 itd? Czy da rady to jakoś uzyskać z poziomu Laravela?

Co do pytania to niestety tutaj musi być wszystko ''na raz'' :/

Edit: Zrobiłem. Gdyby ktoś szukał na to odpowiedzi po polecam taby oraz funkcję chunk() ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1