typescript - TypeORM - findAll-metode for å finne alle artikler til en bruker
Jeg vil finne alle artikler fra en bruker fra TypeORM-pakken.
På Sequelize har jeg dette:
async findAllByUser(userUuid: string, findOptions: object): Promise<Article[]> {
return await Article.findAll<Article>({
include: [{
model: User,
where: {
uuid: userUuid
}
}]
});
}
Jeg vil gjerne ha et alternativ til TypeORM.
Svar #1
Du kan bli med hvis forholdet ble definert i modellen
export class Article {
/// ... other columns
@ManyToOne(type => Author, author => author.articles)
author: Author;
}
Det er to måter å spørre på: find*-metoden eller QueryBuilder
// find*
createConnection(/*...*/).then(async connection => {
/*...*/
let articleRepository = connection.getRepository(Article);
let articles = await articleRepository.find({ relations: ["author"] });
}).catch(error => console.log(error));
// Query Builder
const articles = await connection
.getRepository(Article)
.createQueryBuilder("article")
.leftJoinAndSelect("article.author", "user")
.getMany();
Du kan lese dokumentasjonen for mer detalj
