EN
Size: a a a
EN
ВС
x
const [data, total] = await this.docRepository.findAndCount({
relations: ['user', 'user.project'],
skip: limit * (page - 1),
take: limit,
order: {
create_at: 'DESC'
}
})const data = await this.docRepository
.createQueryBuilder('doc')
.leftJoinAndSelect('doc.user', 'user')
.leftJoinAndSelect('user.project', 'project')
.orderBy({
'doc.create_at': 'DESC',
'project.create_at': 'DESC'
})
.limit(limit * (page - 1))
.offset(limit)
.getMany()
x
MV
.skip((pageIndex - 1) * pageSize)
.take(pageSize)MV
pageIndex = Number(pageIndex);
pageIndex = Number(pageIndex < 1 ? 1 : pageIndex);
pageSize = Number(pageSize);x
leftJoinAndSelect в запросе, с ним же все наперекосяк. если с find typeorm сначала собирает все relations в результирующий набор, а уже потом применяет skip и take, то querybuilder обрезает сразу, т.е. если в join должно придти 50 строк он их тоже обрежет, ну это впринципе и логичноВС
К
async findAll(search) {
const query = search.query.trim().replace(/ /g, ' & ')
return this.carRepository
.createQueryBuilder('car')
.where(
`to_tsvector('simple', car.Make || ' ' || car.Model) @@ to_tsquery('simple', :query)`,
{ query: `${query}:*` }
)
.getMany()
}К
К
@ManyToMany(() => Car, { eager: true })
@JoinTable()
cars: Car[]rs: [1, 2, 3]Но они не сохраняются почему-то:
"id": 8,Что я делаю не так?
"title": "Some engine",
"createDate": "2021-08-31T07:38:07.845Z",
"cars": [],
"stocks": [],
"supplies": []
}
MV
.orderBy(`accounts.number`, sortByOrder);АБ
АБ
RY
RY
К
@OneToOne(() => ProductPrice, { eager: true, cascade: true })
@JoinColumn()
price: ProductPricentity()
export class ProductPrice {
@PrimaryGeneratedColumn()
id: number
@Column({ type: 'numeric' })
retailPrice: number
@Column({ type: 'numeric' })
fixedPrice: number
@OneToOne(() => Product, (product: Product) => product.price)
product: Product
}
Разве при такой связи и настройках цена не должна автоматически сохраняться и удаляться?rice": {
"retailPrice": 123,
"fixedPrice": 123
}
…
Я думал что этого достаточно чтобы при сохранении товара цена сохранялась автоматически с привязкой к этому товару, а оно не работает…К
const cars = await this.carService.getByIds(createProductDto.cars)
const product = await queryRunner.manager.save(Product, {
...createProductDto,
cars: cars
})
RY
RY