diff --git a/pkg/dal/dao/news.go b/pkg/dal/dao/news.go index 8ca1cfb..05da3a6 100644 --- a/pkg/dal/dao/news.go +++ b/pkg/dal/dao/news.go @@ -416,12 +416,17 @@ func (dao *NewsDAO) QueryAsyncBatch(pairs []OrgDigestPair) (dos []*models.NewsDO // ② 一次 SQL:SELECT * FROM news WHERE org_id IN ( … ) var rows []*models.NewsDO - // err 已在函数签名里声明 + // 显式展开 orgIDs + idArgs := make([]interface{}, 0, len(orgIDs)) + for _, id := range orgIDs { + idArgs = append(idArgs, id) + } + _, err = dao.db. - Model(&rows). // 告诉 sqlca 目标对象是 []*models.NewsDO + Model(&rows). Table(models.TableNameNews). - Where("org_id IN ?", orgIDs). - Query() // 用 Query 而不是 Find + Where("org_id IN (?)", idArgs...). // 显式展开 + Query() if err != nil { return nil, 0, err }