1. 关联表名
可以通过定义struct类型的TableName()函数实现定义模型的表名,如此做,使用已关联模型的实例进行表操作时无需再使用**Table()**指定表名:
const (xxxTableName = "xxx")//定义模型type XxxData struct {ID int64 `json:"id" gorm:"id" sql:"auto_increment"`Owner string `json:"owner" gorm:"owner"`CreatedAt time.Time `json:"created_at" gorm:"created_at"`}//为模型关联表func (t *XxxData) TableName() string {return xxxTableName}//删除示例,无需显示指定表func DeleteApiMonthAgo() {db.Delete(&XxxData{}).Where("created_at < DATE_SUB(now(), interval 30 day)")}
- 更多信息:
2. 关于删除操作
当带Where()子句时,代码顺序如下:``go // Email 的 ID 是10` db.Delete(&email) // DELETE from emails where id = 10;
// 带额外条件的删除 db.Where(“name = ?”, “jinzhu”). Delete(&email) // DELETE from emails where id = 10 AND name = “jinzhu”; ```
- 注意,先
Where再Delete
