PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Railsy - Korzystanie z join z niestandardowymi skojarzeniami

where oczekuje rzeczywistej nazwy tabeli, po prostu wstawia ją do SQL:

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

Możesz więc użyć:

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

Ale to nie jest dobre

Następnie polegasz na nazwie tabeli, podczas gdy Model powinien abstrahować takie rzeczy. Możesz użyć 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. Usuwanie rekordów ze zdalnej bazy postgresql przy użyciu lokalnie dostarczonej listy

  2. Utwórz niezmienny klon concat_ws

  3. Jak poprawić wydajność podzapytania?

  4. Czy można napisać konwerter typu danych do obsługi kolumn postgres JSON?

  5. Zapisywanie dużej ramki data.frame do PostgreSQL za pomocą R