web-dev-qa-db-ja.com

TypeORM特定の列を持つMaxを選択します

テーブルの欄から最大値を選択したいと、表quotationVersionの_からquotation

コード

  getOneMaximumQuotationVersion() {
    const query = this.createQueryBuilder("quotation");
    query.select("MAX(quotation.quotationVersion)", "max");
    // query.addSelect("MAX(quotation.quotationVersion)", "max");
    return query.getOne();
  }
 _
4
DMS-KH

メソッドgetOnegetMany実データベースエンティティの選択に使用されます。計算値を選択した場合は、getRawOne(またはgetRawManyが複数の値に使用する必要があります。返された値は、selectを呼び出すときに指定したキーが指定されたエイリアスであるオブジェクトです。あなたの場合、エイリアスはmaxと呼ばれます。

また、操作の非同期性質を忘れないでください。

だから、私はこのような機能を書き換えます:

async getOneMaximumQuotationVersion() {
  const query = this.createQueryBuilder("quotation");
  query.select("MAX(quotation.quotationVersion)", "max");
  const result = await query.getRawOne();
  return result.max;
}
 _

より多くの情報が 公式ドキュメント にあります。

0
FireAphis