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

Rails - Menggunakan join dengan asosiasi yang diberi nama khusus

where mengharapkan nama tabel yang sebenarnya, itu hanya memasukkannya ke dalam SQL:

Article.where(whatever: {you: 'want'}).to_sql
=> "SELECT `articles`.* FROM `articles` WHERE `whatever`.`you` = 'want'"

Jadi, Anda dapat menggunakan:

Measurement.joins(:examination).where(test_structures: { year: 2016, month: 5 })

Tapi itu tidak bagus

Maka Anda bergantung pada nama tabel sementara Model harus mengabstraksikan hal-hal seperti itu. Anda dapat menggunakan merge :

Measurement.joins(:examination).merge(TestStructure.where(year: 2016, month: 5))


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menyimpan postgres sepenuhnya dalam memori

  2. heroku, postgreSQL, Django, comments, deliciouspie:Tidak ada operator yang cocok dengan nama dan tipe argumen yang diberikan. Anda mungkin perlu menambahkan gips tipe eksplisit

  3. postgres. batas kedalaman tumpukan plpgsql terlampaui

  4. Bagaimana cara memasukkan JSONB ke Postgresql dengan Python?

  5. Pernyataan SQL rekursif (Postgresql) - versi yang disederhanakan