Skip to main content

ColumnTrait

Trait ColumnTrait 

Source
pub trait ColumnTrait {
    // Required methods
    fn as_str(&self) -> &'static str;
    fn all() -> Vec<Self>
       where Self: Sized;
}
Expand description

列名枚举抽象(P2-2:由 #[derive(ColumnEnum)] 自动实现)。

从结构体字段自动生成 <StructName>Column 枚举,每个变体对应一个数据库列:

#[derive(ColumnEnum)]
struct User { id: i64, name: String }

let col = UserColumn::Id;
assert_eq!(col.as_str(), "id");

支持 #[column(name = "...")] 覆盖列名(与 #[derive(FromQueryResult)] 一致)。

Required Methods§

Source

fn as_str(&self) -> &'static str

返回当前变体对应的数据库列名。

Source

fn all() -> Vec<Self>
where Self: Sized,

返回全部列变体(保持结构体字段声明顺序)。

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§