如何使用带有 filterRaw 的过滤器而不是原始的 beego

How to use filter with filterRaw instead raw beego

如何将 FilterRawFilter 一起使用 Raw()

这是我的查询

_, err := o.QueryTable("BillDetail").Filter("OriginalID", id).Filter("Date", xxx).Filter("Date", yyy).All(&bills)

我想使用过滤器

rawSeter = o.Raw("SELECT bill_detail FROM WHERE original_i_d = ? AND WHERE date BETWEEN ? AND ?", id, xxx, yyy)

因为我的QueryTable 工作不正常。它不需要 WHERE date =? 而是 BETWEEN.

我试过了

_, err = o.QueryTable("BillDetail").Filter("OriginalID", id).FilterRaw("WHERE date BETWEEN ? AND ?", xxx, yyy).All(&bills)

但它给我这个错误

too many arguments in call to o.QueryTable("BillDetail").Filter("OriginalID", id).FilterRaw have (string, time.Time, time.Time) want (string, string)go

那我该如何正确使用呢

_, err := o.Raw("SELECT *FROM bill_detail where original_i_d = ? AND date BETWEEN ? and ?", id, xxx, yyy).QueryRows(&bills)

您可以像这样添加查询。