-4
私が販売し、トップ10の項目を検索する必要があり、私が調査していると私はこれを可能にすることができ、トップと呼ばれる方法を見つけ、私はそれを適用しようとするが、私はこのエラーを取得:ルック
この検索を行うための最善の方法だろう何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
(詳細)と、この表Iは、日付などのデータを取得し、このため条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