Skip to content

Instantly share code, notes, and snippets.

@zismailov
Created September 26, 2017 12:39
Show Gist options
  • Save zismailov/620240dc4b76f11a01396cafff37fe16 to your computer and use it in GitHub Desktop.
Save zismailov/620240dc4b76f11a01396cafff37fe16 to your computer and use it in GitHub Desktop.
Fetch with includes
[2] pry(main)> Product.last(10).map{|p| p.variants}.flatten
Product Load (1.1ms) SELECT "products".* FROM "products" ORDER BY "products"."id" DESC LIMIT 10
Variant Load (96.5ms) SELECT "variants".* FROM "variants" WHERE "variants"."nomenclature_id" = 247664 AND "variants"."archived_at" IS NULL ORDER BY order_weight [["nomenclature_id", 247664]]
Variant Load (0.6ms) SELECT "variants".* FROM "variants" WHERE "variants"."nomenclature_id" = 247665 AND "variants"."archived_at" IS NULL ORDER BY order_weight [["nomenclature_id", 247665]]
Variant Load (0.3ms) SELECT "variants".* FROM "variants" WHERE "variants"."nomenclature_id" = 247666 AND "variants"."archived_at" IS NULL ORDER BY order_weight [["nomenclature_id", 247666]]
Variant Load (0.6ms) SELECT "variants".* FROM "variants" WHERE "variants"."nomenclature_id" = 247667 AND "variants"."archived_at" IS NULL ORDER BY order_weight [["nomenclature_id", 247667]]
Variant Load (0.5ms) SELECT "variants".* FROM "variants" WHERE "variants"."nomenclature_id" = 247668 AND "variants"."archived_at" IS NULL ORDER BY order_weight [["nomenclature_id", 247668]]
Variant Load (0.5ms) SELECT "variants".* FROM "variants" WHERE "variants"."nomenclature_id" = 247670 AND "variants"."archived_at" IS NULL ORDER BY order_weight [["nomenclature_id", 247670]]
Variant Load (0.5ms) SELECT "variants".* FROM "variants" WHERE "variants"."nomenclature_id" = 247675 AND "variants"."archived_at" IS NULL ORDER BY order_weight [["nomenclature_id", 247675]]
Variant Load (0.9ms) SELECT "variants".* FROM "variants" WHERE "variants"."nomenclature_id" = 247676 AND "variants"."archived_at" IS NULL ORDER BY order_weight [["nomenclature_id", 247676]]
Variant Load (0.6ms) SELECT "variants".* FROM "variants" WHERE "variants"."nomenclature_id" = 247677 AND "variants"."archived_at" IS NULL ORDER BY order_weight [["nomenclature_id", 247677]]
Variant Load (0.5ms) SELECT "variants".* FROM "variants" WHERE "variants"."nomenclature_id" = 247678 AND "variants"."archived_at" IS NULL ORDER BY order_weight [["nomenclature_id", 247678]]
=> [#<Variant:0x00000004c4bc20
#<Variant:0x0000000457db00
#<Variant:0x0000000366ae38 ...
[3] pry(main)> Product.includes(:variants).last(10).map{|p| p.variants}.flatten
Product Load (1.0ms) SELECT "products".* FROM "products" ORDER BY "products"."id" DESC LIMIT 10
Variant Load (1.3ms) SELECT "variants".* FROM "variants" WHERE "variants"."archived_at" IS NULL AND "variants"."nomenclature_id" IN (247678, 247677, 247676, 247675, 247670, 247668, 247667, 247666, 247665, 247664) ORDER BY order_weight
=> [#<Variant:0x000000097f5130
#<Variant:0x000000097f4ff0
#<Variant:0x000000097f4eb0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment