package dao import "server/global" type ProjectMaterials struct { global.GVA_MODEL Name string `json:"name" form:"name" gorm:"comment:名称"` Unit string `json:"unit" form:"unit" gorm:"comment:单位"` Number int `json:"number" form:"number" gorm:"comment:数量"` Remarks string `json:"remarks" form:"remarks" gorm:"comment:备注"` ProjectCode string `json:"projectCode" form:"projectCode" gorm:"comment:项目编号"` Project Project `json:"project" form:"project" gorm:"foreignKey:ProjectCode;references:code;"` } func (ProjectMaterials) TableName() string { return "project_materials" } func QueryProjectMaterialsList(limit, offset int, code, name string) (projectMaterials []ProjectMaterials, total int64, err error) { // 创建db db := global.GVA_DB.Model(&ProjectMaterials{}) // 如果有条件搜索 下方会自动创建搜索语句 if code != "" { db = db.Where("project_code = ?", code) } if name != "" { db = db.Where("name LIKE ?", "%"+name+"%") } err = db.Count(&total).Error if err != nil { return } err = db.Order("id desc").Limit(limit).Offset(offset).Find(&projectMaterials).Error return projectMaterials, total, err } func QueryProjectMaterialsByProjectCode(code string) (projectMaterials []ProjectMaterials, err error) { err = global.GVA_DB.Model(&ProjectMaterials{}).Where("project_code=?", code).Find(&projectMaterials).Error return } func (pm ProjectMaterials) CreateProjectMaterials() error { return global.GVA_DB.Create(&pm).Error } func (pm ProjectMaterials) UpdateProjectMaterials() error { return global.GVA_DB.Model(&pm).Where("id = ?", pm.ID).Updates(&pm).Error } func DeleteProjectMaterials(id int) error { return global.GVA_DB.Delete(&ProjectMaterials{}, id).Error }