Skip to main content

model

Attribute Macro model 

Source
#[model]
Expand description

#[model] 属性宏 — 自动实现 Model + ModelExt trait

为字段式结构体自动实现 sz_orm_core::Model + sz_orm_core::ModelExt trait。 详见 sz_rust_macros::model 文档。 #[model] 属性宏

为字段式结构体自动实现 sz_orm_core::Model + sz_orm_core::ModelExt trait。

§属性参数

  • table = "表名":指定数据库表名(必填)
  • pk = "主键列名":指定主键列名(默认 "id"

§字段类型支持

宏根据字段类型自动生成 Value 转换代码:

Rust 类型OrmValue 变体
i64Value::I64
i32Value::I32
f64Value::F64
StringValue::String
boolValue::Bool

不支持的字段类型会被跳过(不参与 columns/get_column_value/from_value)。

§主键类型

主键字段(由 pk 指定的列名对应的字段)的类型作为 Model::PrimaryKey。 主键字段必须为 i64i32

§fillable / guarded

  • guarded:默认包含主键列名
  • fillable:默认包含所有非主键的已支持字段

§示例

use sz_rust_macros::model;

#[model(table = "users", pk = "user_id")]
pub struct User {
    pub user_id: i64,
    pub name: String,
    pub age: i64,
}