typeorm "\"user\" 别名没有找到。也许你忘了加入它?"
typeorm "\"user\" alias was not found. Maybe you forgot to join it?"
我正在学习 typeorm。
我有一个问题。请帮帮我
@Entity('user')
export class User extends BaseEntity {
@PrimaryGeneratedColumn()
id: number;
@Column({ type: 'varchar', length: '100', unique: true })
email: string;
@Column({ type: 'varchar', length: '10', unique: true })
nickname: string;
@Column({ type: 'varchar', length: '100' })
password: string;
@CreateDateColumn({ name: 'created_at' })
createdAt: Date;
@UpdateDateColumn({ name: 'updated_at' })
updatedAt: Date;
// One to One
@Column({ nullable: true })
avatarId: number;
@OneToOne(() => Avatar)
@JoinColumn()
avatar: Avatar;
}
这是我的用户实体
@Entity('avatar')
export class Avatar extends BaseEntity {
@PrimaryGeneratedColumn()
id: number;
@Column({ type: 'varchar', length: '255' })
src: string;
}
这是我的头像实体
我想加入他们并打电话,所以我的查询生成器是
const createdUser = await createQueryBuilder('user')
.leftJoinAndSelect('user.avatar', 'avatar')
.where('user.email = :email', { email })
.getOne();
但是当我执行这个的时候,错误来了
"\"user\" alias was not found. Maybe you forgot to join it?"
不知道哪里出错了
我搜索文档和谷歌搜索,
(我英语说得不好,很难...)
请帮我看看是什么问题
尝试为您的加入添加条件:
.leftJoinAndSelect('user.avatar', 'avatar', 'avatar.id = user.avatarId')
or/and用户实体中头像栏的反面
@OneToOne(() => Avatar, data => data.user)
@JoinColumn()
avatar: Avatar;
我正在学习 typeorm。
我有一个问题。请帮帮我
@Entity('user')
export class User extends BaseEntity {
@PrimaryGeneratedColumn()
id: number;
@Column({ type: 'varchar', length: '100', unique: true })
email: string;
@Column({ type: 'varchar', length: '10', unique: true })
nickname: string;
@Column({ type: 'varchar', length: '100' })
password: string;
@CreateDateColumn({ name: 'created_at' })
createdAt: Date;
@UpdateDateColumn({ name: 'updated_at' })
updatedAt: Date;
// One to One
@Column({ nullable: true })
avatarId: number;
@OneToOne(() => Avatar)
@JoinColumn()
avatar: Avatar;
}
这是我的用户实体
@Entity('avatar')
export class Avatar extends BaseEntity {
@PrimaryGeneratedColumn()
id: number;
@Column({ type: 'varchar', length: '255' })
src: string;
}
这是我的头像实体
我想加入他们并打电话,所以我的查询生成器是
const createdUser = await createQueryBuilder('user')
.leftJoinAndSelect('user.avatar', 'avatar')
.where('user.email = :email', { email })
.getOne();
但是当我执行这个的时候,错误来了
"\"user\" alias was not found. Maybe you forgot to join it?"
不知道哪里出错了
我搜索文档和谷歌搜索,
(我英语说得不好,很难...)
请帮我看看是什么问题
尝试为您的加入添加条件:
.leftJoinAndSelect('user.avatar', 'avatar', 'avatar.id = user.avatarId')
or/and用户实体中头像栏的反面
@OneToOne(() => Avatar, data => data.user)
@JoinColumn()
avatar: Avatar;