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

RAILS:come eseguire una query per tutti gli oggetti le cui associazioni hanno un attributo che non è nullo

Questo è un altro approccio.

Offer.find_by_sql("SELECT * FROM offers o WHERE NOT EXISTS (SELECT * FROM products WHERE products.offer_id = o.id AND service_id IS NULL)")

Anche se l'idea di un ORM è che astratti l'SQL, in questo tipo di query complessa, penso che sia meglio scegliere la soluzione più semplice e non complicare ulteriormente la query.