дратути
2.6.5 :007 > res = Item.where(id: [263994, 1]).left_joins(:Item_photos).select('
Items.id as id, Item_photos.id as lids')
Item Load (1.0ms) SELECT Items.id as id, Item_photos.id as lids FROM "Items" LEFT OUTER JOIN "Item_photos" ON "Item_photos"."Item_id" = "Items"."id" WHERE "Items"."id" IN ($1, $2) LIMIT $3Items.id as id, Item_photos.id as lids FROM "Items" LEFT OUTER JOIN "Item_photos" ON "Item_photos"."Item_id" = "Items"."id" WHERE "Items"."id" IN ($1, $2) LIMIT $3 [["id", 263994], ["id", 1], ["LIMIT", 11]]
=> #<ActiveRecord::Relation [#<Item id: 1>, #<Item id: 263994>, #<Item id: 263994>, #<Item id: 263994>]>
2.6.5 :008 > ap res
Item Exists? (0.9ms) SELECT 1 AS one FROM "Items" LEFT OUTER JOIN "Item_photos" ON "Item_photos"."Item_id" = "Items"."id" WHERE "Items"."id" IN ($1, $2) LIMIT $3 [["id", 263994], ["id", 1], ["LIMIT", 1]]
Item Load (1.0ms) SELECT Items.id as id, Item_photos.id as lids FROM "Items" LEFT OUTER JOIN "Item_photos" ON "Item_photos"."Item_id" = "Items"."id" WHERE "Items"."id" IN ($1, $2)Items.id as id, Item_photos.id as lids FROM "Items" LEFT OUTER JOIN "Item_photos" ON "Item_photos"."Item_id" = "Items"."id" WHERE "Items"."id" IN ($1, $2) [["id", 263994], ["id", 1]]
[
[0] #<Item:0x00007fedb62bc7e8> {
"id" => 1,
"lids" =>
nil },
[1] #<Item:0x00007fedb62bc720> {
"id" => 263994,
"lids" => 8
},
[2] #<Item:0x00007fedb62bc658> {
"id" => 263994,
"lids" => 9
},
[3] #<Item:0x00007fedb62bc590> {
"id" => 263994,
"lids" => 6
}
]
=> nil
подскажите, как получить норм коллекцию из этого, наподобие [{id: 1, lids: nil}, {id: 263994, lids: 8,9,6}], includes не мой случай, важна скорость, запрос сложнее, это просто пример