Skip to content

Instantly share code, notes, and snippets.

@cmolenda
Created November 25, 2015 17:29
Show Gist options
  • Save cmolenda/2c8922ac32c7dbd6ac05 to your computer and use it in GitHub Desktop.
Save cmolenda/2c8922ac32c7dbd6ac05 to your computer and use it in GitHub Desktop.
2.0.0 :037 > upcs
=> ["400001840948", "400001840924", "400001840931", "400001840955", "400001840962", "400001840979"]
2.0.0 :038 > Product.joins(product_colors: :skus).where(skus: { epicor_in_house_upc_number: upcs }).to_sql
=> "SELECT `products`.* FROM `products` INNER JOIN `product_colors` ON `product_colors`.`product_id` = `products`.`id` INNER JOIN `skus` ON `skus`.`product_color_id` = `product_colors`.`id` AND skus.deleted = 0 WHERE `skus`.`epicor_in_house_upc_number` IN ('400001840948', '400001840924', '400001840931', '400001840955', '400001840962', '400001840979')"
2.0.0 :039 > Product.joins(product_colors: :skus).where(skus: { epicor_in_house_upc_number: upcs }).to_a.uniq.sole.colors.map{ |c| [c.id, c.hide_color] }
=> [[3548462, false]]
2.0.0 :040 > Sku.where(epicor_in_house_upc_number: upcs).to_sql
=> "SELECT `skus`.* FROM `skus` WHERE `skus`.`epicor_in_house_upc_number` IN ('400001840948', '400001840924', '400001840931', '400001840955', '400001840962', '400001840979')"
2.0.0 :041 > Sku.where(epicor_in_house_upc_number: upcs).map(&:color).map{ |c| [c.id, c.hide_color] }.uniq
=> [[3698190, true], [3698194, true]]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment