-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