我從以下查詢中得到了結果:
query
class SyncResult
def self.query(products)
Imports::Product
.order(:last_sync_at)
.pluck(:id, :name, :code, :sync_result, :last_sync_at)
.map do |id, name, code, result, last_sync_at|
{
id: id,
name: name,
code: code,
result: result,
last_sync_at: last_sync_at
}
end
end
end
query result
=> [{:id=>"611ea9a7392ab50013cf4713", :name=>"2-Tone Hoodie", :code=>"SS22CH013", :result=>nil, :last_sync_at=>nil},
{:id=>"60ec84062f25d400150b351c", :name=>"5-Pocket Denim", :code=>"SS22WP014", :result=>nil, :last_sync_at=>nil},
{:id=>"61966dc83e81dd001731ccd7", :name=>"Zip Shirt Jacket", :code=>"FW22WT001", :result=>nil, :last_sync_at=>nil},
{:id=>"61d5cab6b41408001b0e9376", :name=>"Yankees Satin Varsity Jacket", :code=>"FW22WJ021", :result=>nil, :last_sync_at=>nil}]
products = ['SS22CH013', 'FW22WJ021']
現在我只想從陣列中獲取這些包含代碼的陣列哈希元素products。最終結果應該是:
=> [{:id=>"611ea9a7392ab50013cf4713", :name=>"2-Tone Hoodie", :code=>"SS22CH013", :result=>nil, :last_sync_at=>nil},
{:id=>"61d5cab6b41408001b0e9376", :name=>"Yankees Satin Varsity Jacket", :code=>"FW22WJ021", :result=>nil, :last_sync_at=>nil}]
uj5u.com熱心網友回復:
您可以通過以下方式達到預期的效果。
- 更新查詢以獲取給定代碼的產品
products = ['SS22CH013', 'FW22WJ021'] Imports::Product .where(code: products) .order(:last_sync_at) .pluck(:id, :name, :code, :sync_result, :last_sync_at) .map do |id, name, code, result, last_sync_at| { id: id, name: name, code: code, result: result, last_sync_at: last_sync_at } - 更新查詢以獲取給定代碼的產品(沒有采摘)
products = ['SS22CH013', 'FW22WJ021'] Imports::Product .where(code: products) .order(:last_sync_at) .select(:id, :name, :code, :sync_result, :last_sync_at) .map(&:attributes) select在查詢結果上 使用query_result = [{:id=>"611ea9a7392ab50013cf4713", :name=>"2-Tone Hoodie", :code=>"SS22CH013", :result=>nil, :last_sync_at=>nil}, {:id=>"60ec84062f25d400150b351c", :name=>"5-Pocket Denim", :code=>"SS22WP014", :result=>nil, :last_sync_at=>nil}, {:id=>"61966dc83e81dd001731ccd7", :name=>"Zip Shirt Jacket", :code=>"FW22WT001", :result=>nil, :last_sync_at=>nil}, {:id=>"61d5cab6b41408001b0e9376", :name=>"Yankees Satin Varsity Jacket", :code=>"FW22WJ021", :result=>nil, :last_sync_at=>nil}] products = ['SS22CH013', 'FW22WJ021'] query_result.select{ |product| products.include?(product[:code]) }
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/478521.html
