PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Релси - вземете обекти на обекти С дубликати

includes методът на AREL ще избира между две стратегии за извършване на заявката, едната от които просто прави две отделни заявки, а другата прави INNER JOIN. И в двата случая продуктите ще бъдат различни.

Трябва да направите ръчно дясно външно съединение:

Product.joins('RIGHT JOIN categories ON categories.product_id = products.id').where(categories: { id: @my_product.categories.pluck(:id) } )

добавя също .preload(:categories) ако искате да запазите нетърпеливото зареждане на категориите.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL:SQL скрипт за получаване на списък на всички таблици, които имат определена колона като външен ключ

  2. Съкращаване на всички таблици в база данни на Postgres

  3. CSV копие в Postgres с масив от потребителски тип с помощта на JDBC

  4. Разлика между подниз в Postgresql

  5. Агрегиране на свързани набори от възли / ръбове