2016-06-30 5 views
0

私はtは同じ結果を取得したいMYDBでグループによるフィルタ

+----+------------------------+ 
| id | keywords    | 
+----+------------------------+ 
| 83 | automotive, pet, heath | 
| 82 | car, plane    | 
| 81 | NULL     | 
| 80 | pet, car    | 
| 78 | Null     | 
+----+------------------------+ 

をモデル条 を持っている:私は、上記のデータと同じになり得るのですか

{ 
"automotive" => [82], 
"pet" => [82,80], 
"heath" => [83], 
"plane" => [82], 
"car" => "80" 
} 

+0

への挿入文書番号を保つあなたのキーワードは、別のテーブルですか? – oreoluwa

+0

スキーマを変更できますか? CSV-in-a-columnはちょっとしたパターンです。 –

+0

いいえ、それは文字列です@ololuwa –

答えて

0

は基本的には、ハッシュのキーとしてキーワードを設定し、対応する配列

summary = Hash.new() 
Article.all.each do |a| 
    if a.keywords 
    # assuming your keywords is stored as a string 
    a.keywords.split(", ").each do |keyword| 
     if summary[keyword].empty? 
     summary[keyword] = [a.id] 
     else 
     summary[keyword].push(a.id) 
     end 
    end 
    end 
end 
関連する問題