sql >> Database >  >> RDS >> PostgreSQL

Rails - Join gebruiken met aangepaste benoemde associaties

where verwacht de werkelijke tabelnaam, maar voegt deze gewoon in SQL in:

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

U kunt dus het volgende gebruiken:

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

Maar het is niet goed

Dan ben je afhankelijk van de tabelnaam terwijl Model zulke dingen zou moeten abstraheren. Je zou merge kunnen gebruiken :

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


  1. Een tabel kopiëren van de ene mysql-database naar een andere mysql-database

  2. Voeg tekenreeksen toe tussen enkele aanhalingstekens in SQLite-queryresultaten

  3. PostgreSQL-tabelvariabele

  4. gelijktijdige toegang tot MySQL-database met behulp van opgeslagen procedure