Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 22.02.2018 12:40:44

Правильный подход?

Привет сообщество!
Ребята, такая ситуация, есть страница с товарами, товаров 18к+.
До сегодня было создание/редактирование сделано таким образом:

Клик по товару, открывается модалка, вношу изменения и через AJAX отправляю изменения на сервер, в котроллере принял инфо которую нужно изменить, внес изменения в таблице и возвращаю на вьюху выборку из таблицы товаров, которая в свою очередь по средствам JS перестраивает таблицу товаров.

Насколько это правильно? Пока товаров было немного проблемы не было, сейчас проект разрастается и каждое обновление товара или добавление перегружает весь список товаров и занимает порядка 40сек, чтоб прогрузить весь список.
Как правильно делать такие манипуляции? Спасибо.

Не в сети

#2 22.02.2018 12:43:12

Re: Правильный подход?

Зачем весь список перезагружать?

Не в сети

#3 22.02.2018 12:46:57

Re: Правильный подход?

Возможна ситуация, что пока я вносил изменения или добавлял товар, второй пользователей внёс изменения в другой товар.

Не в сети

#4 22.02.2018 12:51:40

Re: Правильный подход?

Зачем весь список перезагружать?

как это Вы делаете ? (на уровне логики, я понимаю, что проще если ты вносишь изменения в товар ID = 10, то и на фронте нужно изменять только этот товар, а другие не перегружать)

Не в сети

#5 22.02.2018 14:48:08

Re: Правильный подход?

Возможна ситуация, что пока я вносил изменения или добавлял товар, второй пользователей внёс изменения в другой товар.

Ну и что)

как это Вы делаете ? (на уровне логики, я понимаю, что проще если ты вносишь изменения в товар ID = 10, то и на фронте нужно изменять только этот товар, а другие не перегружать)

Эти проблемы решают современные js фреймворки.
Если без них - то лапша на jQuery.

Изменено covobo (22.02.2018 14:48:20)

Не в сети

#6 24.02.2018 21:54:27

Re: Правильный подход?

Точно не надо все 18k+ перекачивать на клиента. Если вдруг у вас Datatables, то там два режима хранения: серверный и клиентский. При серверном только то, что на текущей странице будет обновлено, то есть пара десятков записей, а не тысячи.


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети

Подвал раздела