diff --git a/model/channel.go b/model/channel.go index 99ccd893..477a68dd 100644 --- a/model/channel.go +++ b/model/channel.go @@ -105,7 +105,7 @@ func GetChannelsByTag(tag string) ([]*Channel, error) { return channels, err } -func SearchChannels(keyword string, group string, model string) ([]*Channel, error) { +func SearchChannels(keyword string, group string, model string, idSort bool) ([]*Channel, error) { var channels []*Channel keyCol := "`key`" groupCol := "`group`" @@ -118,6 +118,11 @@ func SearchChannels(keyword string, group string, model string) ([]*Channel, err modelsCol = `"models"` } + order := "priority desc" + if idSort { + order = "id desc" + } + // 构造基础查询 baseQuery := DB.Model(&Channel{}).Omit(keyCol) @@ -140,7 +145,7 @@ func SearchChannels(keyword string, group string, model string) ([]*Channel, err } // 执行查询 - err := baseQuery.Where(whereClause, args...).Order("priority desc").Find(&channels).Error + err := baseQuery.Where(whereClause, args...).Order(order).Find(&channels).Error if err != nil { return nil, err }