Select from table - aavedula/how-to-notes GitHub Wiki

Back

Rails command

  Member.
    preload(:population).
    joins(:population).
    where(populations: { kind: 2 } ).
    select(:population_id)

SQL Query

  Member Load (5.0ms)

  SELECT "members"."population_id"
  FROM "members"
  INNER JOIN "populations"
  ON "populations"."id" = "members"."population_id"
  WHERE "populations"."kind" = $1  ["kind", 2](/aavedula/how-to-notes/wiki/"kind",-2)

  Population Load (0.5ms)
  SELECT "populations".*
  FROM "populations"
  WHERE "populations"."id"
  IN ($1, $2, $3, $4, $5, $6, $7)
    [["id", "B000CDC7O2"],
     ["id", "B0000VG5MG"],
     ["id", "B000A70EOU"],
     ["id", "B00067Q8TY"],
     ["id", "B000Q71WNG"],
     ["id", "B000NKUUKW"],
     ["id", "B000662QI2"]]

Return value

Returns an array of some objects containing the selected fields

  [#<Member:0x00007fbecbc5a6c0 id: nil, population_id: "B000CDC7O2">,
   ...
   #<Member:0x00007fbecbc3ac08 id: nil, population_id: "B000662QI2">]