mirror of
https://github.com/linux-do/new-api.git
synced 2025-09-18 00:16:37 +08:00
fix: sqlite group 查询兼容
This commit is contained in:
parent
43076c2f33
commit
9452be51b9
@ -108,10 +108,11 @@ func SearchChannels(keyword string, group string, model string) ([]*Channel, err
|
|||||||
var args []interface{}
|
var args []interface{}
|
||||||
if group != "" && group != "null" {
|
if group != "" && group != "null" {
|
||||||
var groupCondition string
|
var groupCondition string
|
||||||
if common.UsingPostgreSQL {
|
if common.UsingMySQL {
|
||||||
groupCondition = `(',' || ` + groupCol + ` || ',') LIKE ?`
|
|
||||||
} else {
|
|
||||||
groupCondition = `CONCAT(',', ` + groupCol + `, ',') LIKE ?`
|
groupCondition = `CONCAT(',', ` + groupCol + `, ',') LIKE ?`
|
||||||
|
} else {
|
||||||
|
// sqlite, PostgreSQL
|
||||||
|
groupCondition = `(',' || ` + groupCol + ` || ',') LIKE ?`
|
||||||
}
|
}
|
||||||
whereClause = "(id = ? OR name LIKE ? OR " + keyCol + " = ?) AND " + modelsCol + ` LIKE ? AND ` + groupCondition
|
whereClause = "(id = ? OR name LIKE ? OR " + keyCol + " = ?) AND " + modelsCol + ` LIKE ? AND ` + groupCondition
|
||||||
args = append(args, common.String2Int(keyword), "%"+keyword+"%", keyword, "%"+model+"%", "%,"+group+",%")
|
args = append(args, common.String2Int(keyword), "%"+keyword+"%", keyword, "%"+model+"%", "%,"+group+",%")
|
||||||
@ -121,7 +122,7 @@ func SearchChannels(keyword string, group string, model string) ([]*Channel, err
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 执行查询
|
// 执行查询
|
||||||
err := baseQuery.Where(whereClause, args...).Find(&channels).Error
|
err := baseQuery.Where(whereClause, args...).Order("priority desc").Find(&channels).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user