170 похожих чатов

Можно ли как-то быстро загружать 10-100к записей в таблице во

вьюшке? серверная пагинация не подходит, т.к. сортировка от datatables, там вообще ужасный server side какой-то. + есть сторонние фильтры которые придется обратно севреру передавать что неудобно

28 ответов

18 просмотров

Загрузить то ты загрузишь, но вот клиент от такого количества записей повиснет хорошо и надолго. Так что в твоем случае выход один - серверная генерация. А вот собственная или от datatables решать тебе.

Den-Den Автор вопроса
Владимир Блискун
Загрузить то ты загрузишь, но вот клиент от такого...

собственная пагинация от лары хорошо работает, но тогда сортировка от datatables работает только на загруженной странице(

Den-Den Автор вопроса
Владимир Блискун
ну так перенеси сортировку на сервер

Там только фулл server side( спасибо, оставлю наверное как есть, с отдельными фильтрами я думаю не будет много записей, а при первой загрузке можно ограничить количество...

Den Den
собственная пагинация от лары хорошо работает, но ...

я вообще перешел на livewire и ссусь кипятком от того, что не надо тащить кучу левых библиотек, а всё нужное на нем пишется в пару строк

Den-Den Автор вопроса
Владимир Блискун
я вообще перешел на livewire и ссусь кипятком от т...

да, крутая штука, жаль не использую. А вот в теории, есть ли возможность легко передать GET параметры фильтрации при пагинации и сортировке? в livewire же вроде нет доступа к телу запроса ajax..

Den Den
да, крутая штука, жаль не использую. А вот в теори...

так там и не надо передавать их постоянно. Один раз передал нужный параметр и его состояние хранится в компоненте. Если я правильно понял тебя.

Den-Den Автор вопроса
Владимир Блискун
так там и не надо передавать их постоянно. Один ра...

ну да, на странице есть форма с селектами и своей js логикой - фильтрует записи. Эти параметры в GET лежат

Den Den
да, крутая штука, жаль не использую. А вот в теори...

объявляешь переменную в компоненте, при выборе селекта отправляется запрос на сохранение нового состояния этого селекта. js логики нет вообще или самый минимум. Но если очень нужно, то объявляешь protected $queryString с массивом нужных GET параметров и Livewire и в адресной строке все вставляет при обновлении состояния

Den Den
ну да, на странице есть форма с селектами и своей ...

ну и тут немного о реализации поиска и GET параметров https://laravel-livewire.com/docs/2.x/query-string


демка есть посмотреть🤔

https://laravel.demiart.ru/livewire-and-laravel-interactive-search/

Den-Den Автор вопроса
Владимир Блискун
объявляешь переменную в компоненте, при выборе сел...

в целом решает почти все задачи, да.. а в контексте работы с таблицами, пакет какой-нибудь? https://github.com/rappasoft/laravel-livewire-tables такое вот нашел

Den Den
в целом решает почти все задачи, да.. а в контекст...

у меня сложный поиск в таблицах плюс не устраивает верстка из пакетов, потому всё сам пишу

Den Den
в целом решает почти все задачи, да.. а в контекст...

вот из последнего на скрине. Тут, правда, без поиска (но может быть и попросят в будущем прикрутить). Есть два фильтра, в одной из колонок collapse список, в другой открытие модалки на редактирование записи. С помощью готовых пакетов такое не сделаешь.

Den-Den Автор вопроса
Владимир Блискун
вот из последнего на скрине. Тут, правда, без поис...

прикольно) огромный нюанс в том что проект очень большой, и просто так встраивать livewire ради одной страницы не вариант + версия лары очень старая. Прихожу к такому выводу - целая таблица без фильтров не сильно полезна, её можно ограничить условно до 1-5к записей. А фильтры достаточно подробные, с ними никогда не будет много записей. Ну и в целом проект не публичный, поэтому быстродействие не так важно, думаю не страшно)

HermanSochi 🌴
О, спс. А я уже React хотел учить ))

у livewire есть и большие минусы. Например доступность лишних данных на фронте

HermanSochi 🌴
Поясни

вот тут обсудили немного https://qna.habr.com/q/845301

Владимир Блискун
вот тут обсудили немного https://qna.habr.com/q/84...

Ага, спс. Как раз мой случай, простенький круд без нагрузки. В любом случае поставлю, попробовать.

HermanSochi 🌴
Ага, спс. Как раз мой случай, простенький круд без...

например если ты передал модель, то будь готов к тому, что она полностью будет видна на фронте, в том числе и те данные, которые ты не выводишь явно. Livewire её сериализует и добавит в data-атрибут html-элемента

Владимир Блискун
например если ты передал модель, то будь готов к т...

мне не критично, приложение в интранете крутиться.

HermanSochi 🌴
мне не критично, приложение в интранете крутиться.

сегодня не критично, а завтра окажется, что оно из Инета тоже будет доступно ... livewire требует внимательности с данными в любом случае

Vitaly Larin
сегодня не критично, а завтра окажется, что оно из...

тогда добавлю api и буду учить что-нибудь рекативное и фронт писать... Ну а что делать )

Владимир Блискун
я вообще перешел на livewire и ссусь кипятком от т...

Реально спасибо!! Я теперь говнопроекты буду в три раза быстрей делать ))))

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта