sql >> Base de Datos >  >> RDS >> PostgreSQL

Rieles:obtenga objetos de objetos CON duplicados

El includes El método de AREL elegirá entre dos estrategias para realizar la consulta, una de las cuales simplemente realiza dos consultas distintas y la otra realiza un INNER JOIN. En ambos casos los productos serán distintos.

Tienes que hacer manualmente una combinación externa derecha:

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

añade también .preload(:categories) si quieres mantener la carga ansiosa de las categorías.