Ниже приведена запись в таблице -
![enter image description here](https://i.stack.imgur.com/o9XW6.png)
Мне нужно выбрать записи на основе пакетов (последний столбец). У меня есть конечная точка вроде -
http://localhost:3000/batch/Batch 3
Это мой контроллер, он отлично работает и перенаправляет вызов в службу -
@Get('/batch/:batchName')
getByBatch(@Param('batchName') batch): Promise<Assignment[]> {
return this.assignmentService.getByBatch(batch);
}
Это моя служба -
async getByBatch(batch: string): Promise<Batch[]> {
return await getRepository(Assignment)
.createQueryBuilder('a')
.where('a.batches CONTAINS :batch', { batch: batch })
.getMany();
}
Я не уверен, как в этом случае будет сформирован запрос. Я использую typeorm
и postgres
. Для простых запросов я напрямую использовал репозиторий, например -
return this.assgRepository.findOne({ id: id });
Ниже приведен объект -
@PrimaryGeneratedColumn()
id: number;
@Column()
title: string;
@Column()
description: string;
@Column({ array: true })
batches: string;
@Column({ type: 'timestamp', default: () => 'CURRENT_TIMESTAMP' })
createdAt: string;
Мне нужно передать пакет и получить записи, которые когда-либо содержали этот пакет.
PS Если бы вы могли указать мне, как я могу обновить batches
, было бы здорово.