PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Rel mencari dengan array serial

Solusi yang saya gunakan untuk saat ini (pasti terbuka untuk pendekatan lain!) adalah memaksa Rails untuk membuat serial dengan sesuatu selain Yaml, untuk memungkinkan kueri string:

class Foo < ActiveRecord::Base
  serialize :arr, SerializedArray

  def self.find_by_arr
    self.where(arr: SerializedArray.dump(arr)).take
  end
end

class SerializedArray
  def self.load(arr)
    arr ? JSON.load(arr) : nil
  end

  def self.dump(arr)
    arr ? JSON.dump(arr) : nil
  end
end

Agak tersendat karena saya harus bertanya dengan find_by_arr khusus , tetapi berhasil.

(Sunting:menghapus kode contoh yang buruk.)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengapa Postgres mengatakan kolom tidak ada?

  2. Menemukan kombinasi nilai-nilai tertentu

  3. Kinerja PostgreSQL - PILIH vs fungsi Tersimpan

  4. Referensi kolom set Postgres ON CONFLICT ambigu

  5. Gabung kiri dengan nama tabel dinamis yang berasal dari kolom