diff --git a/model/channel.go b/model/channel.go index 3f9d9ed..87610a4 100644 --- a/model/channel.go +++ b/model/channel.go @@ -106,9 +106,15 @@ func SearchChannels(keyword string, group string, model string) ([]*Channel, err // 构造WHERE子句 var whereClause string var args []interface{} - if group != "" { - whereClause = "(id = ? OR name LIKE ? OR " + keyCol + " = ?) AND " + groupCol + " = ? AND " + modelsCol + " LIKE ?" - args = append(args, common.String2Int(keyword), "%"+keyword+"%", keyword, group, "%"+model+"%") + if group != "" && group != "null" { + var groupCondition string + if common.UsingPostgreSQL { + groupCondition = `(',' || ` + groupCol + ` || ',') LIKE ?` + } else { + groupCondition = `CONCAT(',', ` + groupCol + `, ',') LIKE ?` + } + whereClause = "(id = ? OR name LIKE ? OR " + keyCol + " = ?) AND " + modelsCol + ` LIKE ? AND ` + groupCondition + args = append(args, common.String2Int(keyword), "%"+keyword+"%", keyword, "%"+model+"%", "%,"+group+",%") } else { whereClause = "(id = ? OR name LIKE ? OR " + keyCol + " = ?) AND " + modelsCol + " LIKE ?" args = append(args, common.String2Int(keyword), "%"+keyword+"%", keyword, "%"+model+"%") diff --git a/web/src/components/ChannelsTable.js b/web/src/components/ChannelsTable.js index f2c7518..2942a0b 100644 --- a/web/src/components/ChannelsTable.js +++ b/web/src/components/ChannelsTable.js @@ -745,7 +745,8 @@ const ChannelsTable = () => {