#[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 变体 |
|---|---|
i64 | Value::I64 |
i32 | Value::I32 |
f64 | Value::F64 |
String | Value::String |
bool | Value::Bool |
不支持的字段类型会被跳过(不参与 columns/get_column_value/from_value)。
§主键类型
主键字段(由 pk 指定的列名对应的字段)的类型作为 Model::PrimaryKey。
主键字段必须为 i64 或 i32。
§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,
}