IK
Size: a a a
IK
IT
IT
IK
IK
IT
IK
IT
irb(main):016:0> PSerializer.new(P.includes({ as: :c }).first, { include: [:as, :'as.c'] }).serialized_json
P Load (0.2ms) SELECT "ps".* FROM "ps" ORDER BY "ps"."id" ASC LIMIT ? [["LIMIT", 1]]
A Load (0.2ms) SELECT "as".* FROM "as" WHERE "as"."p_id" = ? [["p_id", 1]]
C Load (0.2ms) SELECT "cs".* FROM "cs" WHERE "cs"."p_id" = ? [["p_id", 1]]
IK
IT
IT
irb(main):023:0> P.first.as.last
P Load (0.2ms) SELECT "ps".* FROM "ps" ORDER BY "ps"."id" ASC LIMIT ? [["LIMIT", 1]]
A Load (0.2ms) SELECT "as".* FROM "as" WHERE "as"."p_id" = ? ORDER BY "as"."id" DESC LIMIT ? [["p_id", 1], ["LIMIT", 1]]
=> #<A id: 5, title: "Title", feature: "feature-kek", p_id: 1, created_at: "2019-10-20 11:54:29", updated_at: "2019-10-20 11:54:29">
irb(main):024:0> P.first.as.last.c
P Load (0.3ms) SELECT "ps".* FROM "ps" ORDER BY "ps"."id" ASC LIMIT ? [["LIMIT", 1]]
A Load (0.1ms) SELECT "as".* FROM "as" WHERE "as"."p_id" = ? ORDER BY "as"."id" DESC LIMIT ? [["p_id", 1], ["LIMIT", 1]]
C Load (0.1ms) SELECT "cs".* FROM "cs" INNER JOIN "ps" ON "cs"."p_id" = "ps"."id" WHERE "ps"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]]
=> #<C id: 1, title: "cTitle-0", feature: "feature-0", p_id: 1, created_at: "2019-10-20 11:26:52", updated_at: "2019-10-20 11:26:52">
irb(main):025:0>
IT
IK
IK
IT
IT
IT
IK