0

これは元のクエリです

where(countries.map{|c| "zones.countries LIKE '%#{c}%'"}.join(' OR '))

今、私はこのクエリを?このような演算子

where(countries.map{|c| "zones.countries LIKE ?", "%#{c}%"}.join(' OR '))

しかし、それは機能しません。なにか提案を?どうも

4

1 に答える 1

1
where(countries.map { |c| "zones.countries LIKE ?" }.join(" OR "), *countries.map{ |c| "%#{c}%"})

where上記の最初の引数を次のようなものに置き換えて、1つのループを回避することができます

("zones.countries LIKE ? OR " * countries.size).gsub(/ OR $/, '')
于 2012-07-12T13:24:37.990 に答える