如何使用filterRaw代替原始beego的filter

时间:2019-05-10 02:38:12

标签: sql go controller 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)

但是它给了我这个错误

  

o.QueryTable(“ BillDetail”)。Filter(“ OriginalID”,id).FilterRaw的调用参数过多       有(string,time.Time,time.Time)       要(字符串,字符串)去

那我该如何正确使用。

1 个答案:

答案 0 :(得分:1)

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

您可以仅添加这样的查询。