【问题标题】:Count records sea orm计数记录海藻
【发布时间】:2022-10-13 08:04:26
【问题描述】:

我正在寻找一种方法来计算查询找到的所有记录。我可以看到有一个 count 函数,但我不完全确定如何处理输出以获取数字类型。

我有类似的东西

entity::table_name::Entity::find().count(&db);

返回一个Pin<Box<dyn Future + Send<Output = Result<usize, DbErr>>>>

我只是想打出一个号码。我在正确的轨道上吗?获得计数的最简单方法是什么?

【问题讨论】:

  • 可能是.await,然后是Result
  • @AleksanderKrauze你是对的,这大大简化了它

标签: rust sea-orm


【解决方案1】:

还有另一种方法:

#[derive(Copy, Clone, Debug, EnumIter, DeriveColumn)]
enum Counter {
    Count,
}

entity::table_name::Entity::find()
    .select_only()
    .column_as(Expr::col(entity::table_name::Column::Id).count(), "count")
    .into_values::<_, Counter>()
    .one(&db)
    .await

然而这看起来有点复杂

【讨论】:

    【解决方案2】:

    将计数作为使用量很简单

    entity::entity_name::Entity::find().count(&db).await.unwrap();
    

    其中 entity_name 是您的表/实体的名称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-25
      • 2015-05-15
      • 2014-08-03
      • 1970-01-01
      • 2015-12-24
      • 2011-12-30
      • 2017-07-24
      相关资源
      最近更新 更多