sql >> Database teknologi >  >> RDS >> PostgreSQL

Rails - Brug join med specialnavngivne foreninger

where forventer det faktiske tabelnavn, den indsætter det bare i SQL:

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

Så du kan bruge:

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

Men det er ikke godt

Så er du afhængig af tabelnavn, mens Model burde abstrahere sådanne ting. Du kan bruge merge :

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


  1. MySQL-forespørgsel for at vælge resultater med automatisk stigning som en ny kolonne tilføjet i resultatet

  2. Hvordan eksporterer man en mysql-database ved hjælp af kommandoprompt?

  3. DBI begin_work virker ikke med lagrede procedurekald

  4. postgresql gør eksisterende primærnøgle til automatisk stigning ved indsættelse