sql >> Databasteknik >  >> RDS >> PostgreSQL

Rails - Använda join med specialanpassade föreningar

where förväntar sig det faktiska tabellnamnet, det infogar det bara i SQL:

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

Så du kan använda:

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

Men det är inte bra

Då är man beroende av tabellnamn medan Model ska abstrahera sådana saker. Du kan använda merge :

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


  1. hur man får den 3:e rapporten att kombinera kund- och orderdata

  2. Aggregera data efter tidsperiod i MySQL

  3. Hur man ställer in MySQL-replikering i RHEL, Rocky och AlmaLinux

  4. Symfony2:skapar fetch=EAGER en koppling?