[gogf/gf]gf cli 使用生成model建议和疑问

2024-06-25 677 views
9

版本 gf v1.10.1

问题一: Model = &arModel{g.DB("default").Table(Table).Safe()} 我想给表起一个别名要怎么做?

想要这样的效果 Model = &arModel{g.DB("default").Table(Table+" t").Safe()}

问题二: model的Page方法返回的是arModel 个人感觉返回([]Entity, error) 更合理

回答

6

问题三: 建议生成的json tag使用驼峰方式

    LogType    int    `orm:"log_type"    json:"log_type"`    // 类型                           
    OperObject string `orm:"oper_object" json:"oper_object"` // 操作对象                       
    OperTable  string `orm:"oper_table"  json:"oper_table"`  // 操作表                         
    OperId     int    `orm:"oper_id"     json:"oper_id"`     // 操作主键                       
    OperType   string `orm:"oper_type"   json:"oper_type"`   // 操作类型                       
    OperRemark string `orm:"oper_remark" json:"oper_remark"` // 操作备注       
7

我之前一直是如下,都正常

LogType    int    `json:"logType" gconv:"log_type,omitempty"`       // 类型
    OperObject string `json:"operObject" gconv:"oper_object,omitempty"` // 操作对象
    OperTable  string `json:"operTable" gconv:"oper_table,omitempty"`   // 操作表
    OperId     int    `json:"operId" gconv:"oper_id,omitempty"`         // 操作主键
    OperType   string `json:"operType" gconv:"oper_type,omitempty"`     // 操作类型
    OperRemark string `json:"operRemark" gconv:"oper_remark,omitempty"` // 操作备注
8

问题四: OperTable string json:"operTable,omitempt" gconv:"oper_table,omitempty"

没有orm:,omitempty 这个参数是不是所有字段都会入库? 不修改的字段也会更新数据库~ 比如:前台没传OperTable, update 对象是不是就会更新没了?

个人建议orm加入omitempty

4

问题1:GoFrame CLI Tool v0.5.1, 已加入as方法解决

2

问题4:可通过OmitEmpty方法解决

2

@zcool321 问题二的Page方法本身是一个链式操作的设置方法,需要通过All方法提交执行才能返回结果。

问题三后续增加命令行参数来控制。