Sql TypeForm-按多个关系查找条目
我正在将Nestjs与Typeorm和Mysql一起使用,我想不出一个好方法来根据条目的多对多关系过滤条目 我有以下两个实体: 集团实体:Sql TypeForm-按多个关系查找条目,sql,nestjs,typeorm,Sql,Nestjs,Typeorm,我正在将Nestjs与Typeorm和Mysql一起使用,我想不出一个好方法来根据条目的多对多关系过滤条目 我有以下两个实体: 集团实体: @实体({name:'groups}) 导出类组{ @许多(()=>标记,{eager:true}) @JoinTable() 标签:标签[]; } 标记实体 @实体({name:'tags'}) 导出类标记{ @第()列 @索引({unique:true}) 标签?:字符串; } 并希望搜索具有特定文本标记的所有组 即,具有标签的所有组。标签为“运动”
@实体({name:'groups})
导出类组{
@许多(()=>标记,{eager:true})
@JoinTable()
标签:标签[];
}
标记实体
@实体({name:'tags'})
导出类标记{
@第()列
@索引({unique:true})
标签?:字符串;
}
并希望搜索具有特定文本标记的所有组
即,具有标签的所有组。标签为“运动”
已尝试此代码:
const args={
其中:[
{
“标记”:在([Like(`sport%`)]中,
}
],
关系:['tags'],//tags
take:filter.take,
跳过:filter.skip,
订单:filter.order
};
返回super.findAll(args);
但它似乎不起作用
任何帮助都会很好
return find({
where: {
tags: {
tag: Like(`%sport%`),
},
},
relations: ['tags'],
});
TypeForm几乎从如下关系中接受ObjectLiteral或keyof typeof标记:
FindConditions<T>: {
where: {
[s: keyof typeof T]: any,
},
}
find条件:{
其中:{
[s:T型键]:任何,
},
}
不完全是这样,但这是总的要点。如果keyof T
是一个关系,那么any
基本上被keyof relation
替换
这是findConditions的完整类型非常感谢,不幸的是,现在我遇到了以下错误:QueryFailedError:ER\u BAD\u FIELD\u error:where子句中的未知列“Group.groupsId”
我猜它与我构建实体的方式有关吗?我在标记实体中没有任何对组的引用(目的)。我猜您没有将数据库与实体架构同步