diff --git a/service/report.go b/service/report.go index 77370a2..6725192 100644 --- a/service/report.go +++ b/service/report.go @@ -528,9 +528,7 @@ func (_ReportService) SearchReport(requestUser, requestPark, requestKeyword stri reports = make([]model.Report, 0) cond = global.DB.NewSelect(). Model(&reports). - Relation("Park", func(q *bun.SelectQuery) *bun.SelectQuery { - return q.Relation("Enterprise") - }) + Relation("Park").Relation("Park.Enterprise") ) conditions = append(conditions, strconv.Itoa(requestPage)) if onlyPublished { @@ -538,11 +536,11 @@ func (_ReportService) SearchReport(requestUser, requestPark, requestKeyword stri } conditions = append(conditions, strconv.FormatBool(onlyPublished)) if len(requestUser) > 0 { - cond = cond.Where("p.user_id = ?", requestUser) + cond = cond.Where("park.user_id = ?", requestUser) conditions = append(conditions, requestUser) } if len(requestPark) > 0 { - cond = cond.Where("p.id = ?", requestPark) + cond = cond.Where("park.id = ?", requestPark) conditions = append(conditions, requestPark) } if requestPeriod != nil { @@ -552,12 +550,12 @@ func (_ReportService) SearchReport(requestUser, requestPark, requestKeyword stri if len(requestKeyword) > 0 { keywordCond := "%" + requestKeyword + "%" cond = cond.WhereGroup(" and ", func(q *bun.SelectQuery) *bun.SelectQuery { - return q.Where("p.name like ?", keywordCond). - WhereOr("d.name like ?", keywordCond). - WhereOr("d.abbr like ?", keywordCond). - WhereOr("p.abbr like ?", keywordCond). - WhereOr("d.address like ?", keywordCond). - WhereOr("p.address like ?", keywordCond) + return q.Where("park.name like ?", keywordCond). + WhereOr("park__enterprise.name like ?", keywordCond). + WhereOr("park__enterprise.abbr like ?", keywordCond). + WhereOr("park.abbr like ?", keywordCond). + WhereOr("park__enterprise.address like ?", keywordCond). + WhereOr("park.address like ?", keywordCond) }) conditions = append(conditions, requestKeyword) }