2017-02-20 5 views
0

私は列をグループ化するスコープを定義しました。スコープproduct_activeActiveRecord:単一のクエリでグループの後のすべてのキーを取得

scope :active, lambda{ some query here } 
scope :product_active, lambda{ active.group(:product_id).select(:product_id) } 

、私はproduct_idごとにグループ化されています:例えば、ここに私の短いコードです。さて、私は "product_ids"だけを取得したいのですが、どうやってこれを1行で行うことができますか?そのproduct.rbモデルであれば

おかげ

+1

'select(:product_id)'の代わりに 'pluck(:product_id)'を試しましたか? –

+0

@TarynEastありがとうございます。それは動作します:D –

答えて

1

は他の製品pluck("id")へアソシエーションモデルであなたのscope..ifの終わりにpluck("products.id")を追加します。

関連する問題