31 lines
886 B
Go
31 lines
886 B
Go
package model
|
|
|
|
import "gorm.io/gorm"
|
|
|
|
func CreateEncounterAnimalLinkFactory(sqlType string) *EncounterAnimalLink {
|
|
return &EncounterAnimalLink{DB: UseDbConn(sqlType)}
|
|
}
|
|
|
|
/**
|
|
* @description: 路遇 & 关联毛茸茸 的关联表,将 []int 拆为 int 的子表,方便查询。
|
|
* @return {*}
|
|
*/
|
|
type EncounterAnimalLink struct {
|
|
*gorm.DB `gorm:"-" json:"-"`
|
|
EncounterId int `gorm:"column:encounter_id;index" json:"encounter_id"`
|
|
Encounter Encounter
|
|
AnimalId int `gorm:"column:animal_id;index" json:"animal_id"`
|
|
Animal Animal
|
|
}
|
|
|
|
func (e *EncounterAnimalLink) Insert(encounterId int, animalId []float64) bool {
|
|
// Build Slice
|
|
var results []EncounterAnimalLink
|
|
for _, id := range animalId {
|
|
results = append(results, EncounterAnimalLink{EncounterId: encounterId, AnimalId: int(id)})
|
|
}
|
|
|
|
// 调用批处理插入方法
|
|
return e.Create(&results).Error == nil
|
|
}
|