sql >> Databáze >  >> RDS >> PostgreSQL

Rails - Použití spojení s vlastními pojmenovanými asociacemi

where očekává skutečný název tabulky, pouze jej vloží do SQL:

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

Můžete tedy použít:

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

Ale to není dobré

Pak jste závislí na názvu tabulky, zatímco Model by měl takové věci abstrahovat. Můžete použít merge :

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


  1. datumový rozdíl včetně času

  2. Vícehodnotový parametr data v uložené proceduře?

  3. SQL Server 2005 Jak vytvořit jedinečné omezení?

  4. MySQL Workbench:jak zobrazit varování?