こんにちは!
今回はRubyでSQLのプレースホルダを使う方法 (配列を受け取る場合)についてまとめます。
何をしたいか
- プレースホルダに配列を代入したい
- 配列は可変長とする
コード
array = ['alice', 'bob', 'charlie'] placeholders = array.map { '?' }.join(',') @db.execute(" SELECT test FROM test_table WHERE test IN (#{placeholders}) ", array)
- 可変長配列のプレースホルダを作成するために、配列の要素数分「?」に置き換えたplaceholders変数を作成
- placeholders変数をプレースホルダ部分で変数展開することでプレースホルダとして動作させている
おわりに
今回はプレースホルダに配列を使う方法をまとめました。これで色んな値をSQLに渡すことができるようになりました!
22/100