This commit is contained in:
parent
fa35a08240
commit
1451aa19aa
|
|
@ -538,20 +538,17 @@ func (dao *NewsDAO) QueryPullNew(cond *NewsPullNewCondition) (dos []*models.News
|
||||||
models.NEWS_COLUMN_EXTRA_DATA,
|
models.NEWS_COLUMN_EXTRA_DATA,
|
||||||
)
|
)
|
||||||
|
|
||||||
// 🔧 正确展开 org_id 切片
|
|
||||||
if cond != nil && len(cond.Pairs) > 0 {
|
if cond != nil && len(cond.Pairs) > 0 {
|
||||||
orgIDs := make([]interface{}, 0, len(cond.Pairs))
|
orgIDs := make([]interface{}, 0, len(cond.Pairs))
|
||||||
for _, p := range cond.Pairs {
|
for _, p := range cond.Pairs {
|
||||||
orgIDs = append(orgIDs, p.OrgId)
|
orgIDs = append(orgIDs, p.OrgId)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 构造正确的 IN 子句(防止 ORM 不展开切片)
|
|
||||||
placeholders := make([]string, len(orgIDs))
|
placeholders := make([]string, len(orgIDs))
|
||||||
for i := range orgIDs {
|
for i := range orgIDs {
|
||||||
placeholders[i] = "?"
|
placeholders[i] = "?"
|
||||||
}
|
}
|
||||||
whereClause := fmt.Sprintf("%s NOT IN (%s)", models.NEWS_COLUMN_ORG_ID, strings.Join(placeholders, ","))
|
whereClause := fmt.Sprintf("%s NOT IN (%s)", models.NEWS_COLUMN_ORG_ID, strings.Join(placeholders, ","))
|
||||||
e.Where(whereClause, orgIDs...)
|
e = e.Where(whereClause, orgIDs...) // 必须 e = e.Where
|
||||||
}
|
}
|
||||||
|
|
||||||
_, total, err = e.QueryEx()
|
_, total, err = e.QueryEx()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue