Я хочу получить заказы, в которых line_items.id равен определенному идентификатору продукта (который является позицией), который я сохранил в БД.
Ответ от API, который я хочу использовать для сопоставления:
[[#<ShopifyAPI::LineItem:0x000055ef6161f110 @attributes={"id"=>1959792476209, "variant_id"=>15345627234353, "title"=>"Burton Custom Freestlye 151 37", "quantity"=>1, "sku"=>"", "variant_title"=>nil, "vendor"=>"Burton", "fulfillment_service"=>"manual", "product_id"=>19650913786737, ...
В основном, где "product_id"=>19650913786737,
, это то, что я хочу сопоставить. Я храню это в моей БД.
Я пробовал несколько способов, но вот несколько:
@store_products = StoreProduct.all #Where the product_id is stored under store_product_id
@store_orders = ShopifyAPI::Order.all #fetches orders from Shopify API
@match_store_orders = @store_orders.where(line_items.product_id == (@store_products.each {|store_product| store_product.store_product_id})
Это говорит о том, что product_id не существует, вы имели в виду product? ... У меня также есть модель Product, поэтому она спрашивает об этом, но она тоже не работает ...
Пробовал также:
@match_store_orders = @store_orders.where("line_items --> 'product_id' == '@store_products.each {|store_product| store_product.store_product_id}' ")
Это дает мне: expected a clauses Hash
Я пробовал больше способов, которые тоже не сработали бы.
Любые предложения о том, что делать, чтобы я мог отображать только Заказы, где product_id соответствует любому из моих сохраненных StoreProduct.store_product_ids?