【发布时间】:2022-12-27 19:02:51
【问题描述】:
I have an
Order
and
User
Entities
Order
@Entity('orders')
export class Order {
@PrimaryGeneratedColumn()
id: number;
@Column('enum', {enum: OrderStatus, default: OrderStatus.NEW})
status: OrderStatus
@Column('float')
amount: number
@Column('float')
fees: number
@ManyToOne(() => User, (user) => user.orders)
user: User;
@OneToMany(() => OrderToProduct, orderToProduct => orderToProduct.order, {
cascade: true,
})
products: OrderToProduct[]
@CreateDateColumn()
createdAt: Date = new Date();
@UpdateDateColumn()
updatedAt: Date;
}
User
@Entity('users')
export class User {
@PrimaryGeneratedColumn()
id: number;
@Column({length: 255})
name: string;
@Column({length: 255, unique: true})
email: string;
@Column({length: 255})
password: string;
@CreateDateColumn()
createdAt: Date = new Date();
@OneToMany(() => Order, (order) => order.user)
orders: Order[];
@UpdateDateColumn()
updatedAt: Date;
@OneToMany(() => Product, (product) => product.user)
products: Product[]
}
All I want is to retrieve the orders with their user
name
only what I try is like this
this.orderRepository.find({
relations: {
user: {
id: true,
name: true
}
},
where: {
user: {
id: user.id
}
}
})
but it returns with an error
EntityPropertyNotFoundError: Property "id" was not found in "User". Make sure your query is correct.
But if i try to get all the object of user like this it works fine
relations: { user: true },