Macro model
Source macro_rules! model {
(
table: $table_name:expr,
$(timestamps: $ts:expr,)?
$(soft_deletes: $sd:expr,)?
$(fillable: [ $($fill:ident),* ],)?
$(guarded: [ $($guard:ident),* ],)?
$(scopes: {
$( $scope_name:ident ( $($arg_name:ident : $arg_type:ty),* ) => $scope_body:expr ),* $(,)?
},)?
$(global_scopes: {
$( $gs_name:ident => $gs_body:expr ),* $(,)?
},)?
$(relations: {
$( $relation_name:ident ( $rel_type:ident, foreign_key: $fk:ident, local_key: $lk:ident ) => $related_model:path ),* $(,)?
},)?
Model {
$($(#[$field_meta:meta])* $field_vis:vis $field_name:ident : $field_type:ty),* $(,)?
}
) => { ... };
}