package model import ( "ArmedPolice/app/common/model" "ArmedPolice/serve/orm" "fmt" ) type ManageEquipmentMaterial struct { *model.ManageEquipmentMaterial } // Materials 器材信息 func (m *ManageEquipmentMaterial) Materials(equipmentID uint64) ([]*ManageMaterialBasic, error) { db := orm.GetDB().Table(m.TableName()+" AS e"). Select("e.id", "e.material_id", "m.code", "m.title", "m.price", "m.unit", "s.name AS manufacturer_name"). Joins(fmt.Sprintf("LEFT JOIN %s AS m ON e.material_id = m.id", model.NewManageMaterial().TableName())). Joins(fmt.Sprintf("LEFT JOIN %s AS s ON m.manufacturer_id = s.id", model.NewManageSupplier().TableName())). Where("e.equipment_id = ? AND e.is_deleted = ?", equipmentID, model.DeleteStatusForNot) out := make([]*ManageMaterialBasic, 0) err := db.Scan(&out).Error return out, err } func NewManageEquipmentMaterial() *ManageEquipmentMaterial { return &ManageEquipmentMaterial{model.NewManageEquipmentMaterial()} }