This commit is contained in:
toom1996
2026-08-26 19:40:16 +08:00
parent 30c9f21da4
commit a6724265ad
14 changed files with 400 additions and 101 deletions

View File

@ -0,0 +1,54 @@
package main
import (
"fmt"
"gorm.io/driver/mysql"
"gorm.io/gorm"
)
const dsn = "root:root@tcp(127.0.0.1:3306)/db?charset=utf8mb4&parseTime=True&loc=Local"
func main() {
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
panic(err)
}
// 1) brand 3100 的走秀档案数(only_with_articles 子查询依赖这个)
var artCount int64
db.Raw(`SELECT COUNT(*) FROM brand_runway WHERE is_deleted=0 AND brand_id=3100`).Scan(&artCount)
fmt.Printf("brand 3100 走秀档案数 = %d\n", artCount)
// 2) 复现后端完整搜索:only_with_articles=1 + keyword=猿人头
kw := "%猿人头%"
type Row struct {
ID uint32
Name string
NameEn string
NameCn string
}
var rows []Row
db.Raw(`
SELECT id, name, name_en, name_cn FROM brand
WHERE is_deleted=0
AND id IN (SELECT DISTINCT brand_id FROM brand_runway WHERE is_deleted=0)
AND (name_en LIKE ? OR name_cn LIKE ?)`,
kw, kw).Scan(&rows)
fmt.Printf("\n[搜索 keyword=猿人头, only_with_articles=1] 命中 %d 条:\n", len(rows))
for _, r := range rows {
fmt.Printf(" id=%d | name=%q | name_en=%q | name_cn=%q\n", r.ID, r.Name, r.NameEn, r.NameCn)
}
// 3) 对比:only_with_articles=0(不过滤档案)时的命中
var rows2 []Row
db.Raw(`
SELECT id, name, name_en, name_cn FROM brand
WHERE is_deleted=0
AND (name_en LIKE ? OR name_cn LIKE ?)`,
kw, kw).Scan(&rows2)
fmt.Printf("\n[搜索 keyword=猿人头, only_with_articles=0] 命中 %d 条:\n", len(rows2))
for _, r := range rows2 {
fmt.Printf(" id=%d | name=%q | name_en=%q | name_cn=%q\n", r.ID, r.Name, r.NameEn, r.NameCn)
}
}