问题描述
现在我正在使用Typecript,Express.js,TypeORM
我想使用Repository.find(或Repository.findOne)在适合条件的实体中查找最新的ONE实体。
这是我的实体
import {
Entity,CreateDateColumn,UpdateDateColumn,PrimaryGeneratedColumn,Column,BaseEntity,ManyToOne,} from "typeorm";
import { User } from "./user";
import { Product } from "./product";
@Entity()
export class Transaction extends BaseEntity {
@PrimaryGeneratedColumn('increment',{ type: "int" })
id: number;
@Column()
user_id: number;
@Column()
product_id: number;
@Column({
type: "enum",enum: PaymentMethod,default: PaymentMethod.EL
})
paymentMethod: PaymentMethod;
@Column()
paymentValue: number;
@Column()
totalValue: number;
@CreateDateColumn({ type: 'timestamp' })
createdAt: Date;
@UpdateDateColumn({ type: 'timestamp' })
updatedAt: Date;
}
这是我找到最新代码的代码(根据createdAt)
let alltransactions = await transactionRepository.find({ where: [ {user_id : ownership.user_id},{PaymentMethod: ownership.paymentMethod}]});
我试图使用查找符合条件的所有交易并按其排序(因此我将最新的交易放在第一个交易中)并获得第一个实体...!
我该如何解决?
解决方法
因此,您要返回与AND条件匹配的最后插入的行。
let alltransactions = await transactionRepository.findOne({
where: [ {user_id : ownership.user_id},{PaymentMethod: ownership.paymentMethod}],order: { id: 'DESC' }
});