brakeman gem(Ruby on Railsコードで考えられるセキュリティ上の問題を識別する)を扱っています。私たちはjoin、group、selectを使うスコープを持っており、クエリの選択部分を更新する必要があります。このスコープは以下のようになります。私はここにスコープの内容を製品モデルに入れています。今rails(QueryMethods)のSQL selectクエリに日付パラメータを渡す
Product.joins('LEFT JOIN orders ON orders.product_id = products.id')
.group('products.id')
.select(
"SUM(CASE WHEN orders.order_at BETWEEN '#{start_date}' AND '#{end_date}'" \
" THEN orders.qty ELSE 0 END) as qty, products.*"
)
は、私はそれが私に私は、グループとなるといくつかの他の方法を試してみましたが、それはのために働いていなかった?
を持っている構文エラーが発生します。この
Product.joins('LEFT JOIN orders ON orders.product_id = products.id')
.group('products.id')
.select(
"SUM(CASE WHEN orders.order_at BETWEEN ? AND ?" \
" THEN orders.qty ELSE 0 END) as qty, products.*",
'#{start_date}',
'#{end_date}'
)
のようにクエリを変更しようとした場合私。私はレールでPostgreSQLを使用しています4.1.8
私はこれを達成することができますか?前もって感謝します。
これはエラー
PG::SyntaxError: ERROR: syntax error at or near "?"
LINE 1: SELECT SUM(CASE WHEN orders.order_at BETWEEN ? AND ? AND ord
何の十分な情報はありません。また、[ここ](https://stackoverflow.com/questions/47531438/i-want-to-use-query-in-rails-just-like/47531725#47531725)にも同様の無人質問があります。 –