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

10 ответов

14 просмотров

Для реализации пагинации на связанных сущностях в TypeORM, вы можете использовать метод relation и skip и take для указания количества записей, которые нужно пропустить и взять соответственно. Вот пример кода: import { getRepository } from 'typeorm'; import { EntityA } from './entities/EntityA'; // Функция для получения связанных сущностей с пагинацией async function getRelatedEntitiesWithPagination(entityAId: number, skip: number, take: number) { const entityARepo = getRepository(EntityA); // Загружаем основную сущность const entityA = await entityARepo.findOne(entityAId); // Получаем связанные сущности с пагинацией const relatedEntities = await entityARepo .createQueryBuilder('entityA') .leftJoinAndSelect('entityA.relatedEntities', 'relatedEntities') .where('entityA.id = :id', { id: entityAId }) .skip(skip) .take(take) .getOne(); return relatedEntities?.relatedEntities ?? []; } В приведенном выше примере мы используем функцию getRepository для получения репозитория EntityA. Затем мы загружаем основную сущность (в данном случае EntityA) с помощью метода findOne. Затем мы создаем запрос с использованием createQueryBuilder для получения связанных сущностей. Метод leftJoinAndSelect позволяет загрузить и связанные сущности, и метод skip и take используются для пропуска определенного количества записей и взятия нужного количества записей соответственно. В итоге, если EntityA содержит связь с RelatedEntity, функция getRelatedEntitiesWithPagination возвращает массив связанных сущностей с пагинацией. Вы можете изменить этот код в соответствии с вашей моделью данных и требованиями пагинации.

Dawut- Автор вопроса
Dawut- Автор вопроса
Dawut
Но пагинация работает на родительский

а тебе нужно что? чтобы была пагинация, например, всех комментариев пользователя, как связанных сущностей?

Dawut
да

так запрашивай именно комменты по пользаку, что за изврат делать пагинацию по вложенным связям?

Dawut
да, на админке

мммм, на админке список пользователей с пагинацией, у каждого пользователя ещё какие-то сущности с пагинацией?

Dawut- Автор вопроса
Dawut- Автор вопроса
Aleksandr Vyatkin
мммм, на админке список пользователей с пагинацией...

ну типа беру через id категорию и возвращаю продукты

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

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

Комрады, посоветуйте, куда копать? Стал прикручивать кастомизацию тем. В OnShow главной главной формы пытаюсь загрузить из файла настроек и применить тему (на скрине, как долж...
Ed Doc
13
OnShow один раз вызывается? или возможен Hide?
Iluha Companets
14
Такс, блин, таки кто-то знает, каким образом работают макросы stdin/stdout/stderr? Я влез в stdio.h, там определения нет, отладил через асмокод - вызывается функция со странны...
The Bird of Hermes
18
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Всем привет, на линуксе лучше на fasm или nasm учиться писать для начала ?
meszjol
14
Если у меня есть такой класс: Object = {} function Object:new(a_name, a_transform, a_color, a_mesh, a_material, a_shader, a_textures) local private = {} private.n...
Cuarno Vile
4
@sand_witch скорее к тебе вопрос, добавил в .cabal webdriver-w3c и вот такая ошибка от nix develop error: Package ‘script-monad-0.0.4’ in /nix/store/7vdxbra0kwbr0ys0kc5...
Fedor
5
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
I have a type conversion problem, I have a optional field, it contains a list of integers or null, when I try to convert it from sqflite I use above method, but when it is nul...
Alper
2
Карта сайта