0

次の方法でモデル Student の ID を収集しました

ids = Student.all.map{|s| s.id}

ここで、Ruby コードの次の SQL クエリで上記の配列 ID を次のように使用したいと考えています。

students = repository.adapter.select(%Q{select id, roll_number, major from students where id in (#{ids})})

このSQLクエリではIDを配列として使用できないため、上記の行で構文エラーが発生しています。Ruby と Mysql は初めてです。誰でもこれに対する解決策を提供できますか?

4

1 に答える 1

0

あなたはこのようにすることができます

ids = Student.pluck(:id)
repository.adapter.select("some fields").where(["id IN (?)", ids])
于 2013-09-12T09:30:59.620 に答える