typescript - TypeORM - findAll 方法来查找用户的所有文章
问题描述
我想从TypeORM包中找到一个用户的所有文章。
在Sequelize 上,我有这个:
async findAllByUser(userUuid: string, findOptions: object): Promise<Article[]> {
return await Article.findAll<Article>({
include: [{
model: User,
where: {
uuid: userUuid
}
}]
});
}
我想要TypeORM的替代品。
解决方案
如果在模型中定义了关系,您可以加入
export class Article {
/// ... other columns
@ManyToOne(type => Author, author => author.articles)
author: Author;
}
有两种查询方式:find*
方法或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();
您可以阅读文档以获取更多详细信息
推荐阅读
- python - 如何在 matplotlib 中填充图例
- python - 为什么这个 discord python 命令只运行一次?
- javascript - 如何从包含在 html 元素中的字符串中删除最后一个字符?
- sql - 读取数据并将其插入不同的服务器
- parsing - wxpython, .env Python-env 无法解析语句
- mysql - 为数据库存储二维矩阵数据
- java - 有没有办法修复线程中的异常以除零?
- react-native - react-native - 如何使标签栏图标溢出可点击?
- scrapy - Python Scrapy - 如何从另一个蜘蛛方法调用变量?
- python - 如何设置两个 PyPI 索引