Вопрос про отображение данных

Скажите, а можно ли на фронт передавать модели данных только с тем набором полей, которые, допустим, были указаны при поиске на бэке? Сейчас передаются все поля из модели данных, а хотелось бы управлять набором полей передаваемых на фронт.

Используется какой-то специфический кейс?
Потому как сейчас, если при поиске на беке задать Selected fields, то только эти поля и будут переданы на фронт

@Basil_K а как быть со связанными таблицами, когда мне надо также ограничить объем отправляемой информации на фронт?

Если связь ко многим, то также, через SelectFields для выбранной связи.
Если к одной, то либо через SQL-запросы, либо через ремаппинг. SQL-запрос, конечно, может быть менее удобен в разработке, но будет гораздо эффективнее в плане производительности и потребления ресурсов.

@Alexandr_Yaskunov
Есть 2 основных варианта и наибольшая производительность при их комбинировании:

  • Достаете из БД минимальное количество записей и полей (так должно быть всегда для оптимальной работы приложения)
  • Вы можете ремапить данные перед отдачей на фронт с помощью forEach в новый массив через Expand + Make.

Второй вариант на картинке ниже и он не заменяет выборку минимального набора данных из БД, но помогает когда вы из БД достаете чуть больше данных чем нужно чтобы выполнить какую-то логику, но не все поля нужны потом на фронте. Есть кейса когда мы специально создаем виртуальную модель для отдачи данных на фронт и с ней уже работаем на фронте.

Спасибо за совет. Я тоже больше склоняюсь ко 2у варианту (как на скрине). Еще один вопрос, а, если мне и вложенные таблицы (те, что через with подтягиваются) тоже надо ремапить я могу этот метод применить? т.е. один цикл для одной модели, а внутри еще цикл(-ы) для вложенных моделей. Как это скажется на производительности?

Если не будет десятков тысяч записей, то не сильно медленно.
Главное помните, что из БД нужно доставать минимум данных как по количеству полей так и по количеству записей, тогда ремапинг не будет проблемой. Тем более вы хостите в on-prem, там у вас много процессорной мощности и памяти.

Спасибо! Буду пробовать!)