-4
我需要搜索销售的前10个项目,我一直在调查,我发现了一种叫做top的方法,可以使这成为可能,我尝试应用它,但我得到这个错误:寻找十大畅销产品
SyntaxError (/home/luis/sites/AdvanceControld/app/models/detalleve.rb:38: syntax error, unexpected '(', expecting keyword_end
query = select top 10('detallevet.Article')
什么是最好的方法来做这个搜索?
def self.best_seller(params)
query = select top 10('detallevet.Article')
.joins('left outer join venta ON venta.Documento=detallevet.Docto and venta.RutaId=detallevet.RutaId')
.where("(venta.RutaId = :rutaId or :rutaId = '') AND (venta.IdEmpresa = :idempresa)",{rutaId: params[:search], idempresa: params[:search0]})
query = query.where('venta.Fecha >= ? AND venta.Fecha <= ?', (params[:search1].to_date).strftime('%Y-%m-%d'), (params[:search2].to_date).strftime('%Y-%m-%d')) if params[:search1].present? and params[:search2].present?
query
end
那里获得销售数据详细说明(详细)表和该表有该产品在第column.I我就与文塔(销售),因为这个我得到这样的最新数据。一文塔可以有很多detallevet和detallevet属于销售
这是detallevet模式:
create_table "DetalleVet", primary_key: "ID", force: :cascade do |t|
t.varchar "Article", limit: 50
t.integer "Docto", limit: 4
t.money "Importe", precision: 19, scale: 4
t.integer "RutaId", limit: 4
t.varchar "IdEmpresa", limit: 50
end
这是文塔架构
create_table "Venta", primary_key: "Id", force: :cascade do |t|
t.integer "RutaId", limit: 4
.integer "Documento", limit: 4
t.datetime "Fecha"
t.varchar "IdEmpresa", limit: 50
end
我尽力帮你,开始写一些代码,但不知道你用你的名字列在语言这个问题是很难理解和恕我直言,几乎是不可能的回答。你能否为'venta'和'detallevet'数据库表发布你的数据库模式,显示你如何定义那些模型中的关联并将翻译添加到表和列名中? – spickermann
@spickermann谢谢你的回答。更新 :) – LuisC