数据库中筛选:按游戏标签

This commit is contained in:
2025-01-04 08:45:01 +08:00
parent 7eb3974abb
commit 2f7182d211

View File

@@ -390,9 +390,14 @@ var ImageItems = &graphql.Field{
// 数据库中筛选:按游戏标签 // 数据库中筛选:按游戏标签
if p.Args["tags"] != nil { if p.Args["tags"] != nil {
tags := strings.Split(strings.ReplaceAll(p.Args["tags"].(string), " ", ""), ",") tags := strings.Split(strings.ReplaceAll(p.Args["tags"].(string), " ", ""), ",")
var conditions []string
for _, tag := range tags { for _, tag := range tags {
query = query.Where(goqu.L("MATCH(web_images.tags) AGAINST (? IN NATURAL LANGUAGE MODE)", tag)) conditions = append(conditions, fmt.Sprintf("FIND_IN_SET('%s', web_article.tags)", tag))
} }
query = query.Join(goqu.T("web_article"), goqu.On(
goqu.I("web_images.article_id").Eq(goqu.I("web_article.id")),
goqu.L(strings.Join(conditions, " AND ")),
))
} }
// 数据库中筛选:按游戏分类 // 数据库中筛选:按游戏分类