Я хочу иметь возможность найти модель пользователя на основе значения внутри отношения OneToMany.
Вот моя функция:
async getUserViaPlatform(provider: string, id: string) {
return await this.webUserRepository.findOne({
profiles: [{
provider,
platformID: id
}]
});
}
Модель пользователя:
@Entity()
export class WebUser {
@PrimaryGeneratedColumn()
id!: number;
@Column()
name!: string;
@Column({ nullable: true })
picture?: string;
@OneToMany(type => WebProfile, webProfile => webProfile.user, { eager: true })
profiles!: WebProfile[];
@CreateDateColumn()
createdAt!: Date;
@UpdateDateColumn()
updatedAt!: Date;
}
И "WebProfile" - это
@Entity()
export class WebProfile {
@PrimaryGeneratedColumn()
id!: number;
@Column()
provider!: string;
@Column()
email!: string;
@Column()
platformID!: string;
@ManyToOne(type => WebUser, user => user.profiles)
user!: WebUser;
@CreateDateColumn()
createdAt!: Date;
@UpdateDateColumn()
updatedAt!: Date;
}
Я хочу, чтобы пользователь находился там, где у него есть профиль, соответствующий поставщику и идентификатору. Но все, что сейчас происходит, - это возвращение первого пользователя, независимо от того, что я даю функции.