下記のようなモデルがあり、独自の条件で抽出することにチャレンジしています。
Noteモデル
id:integer
title:string
content:text
category:string
下記が独自の条件(数字はidです。)
arr = [4, 1, 5, 2, 3]
binding.pryで該当箇所を止めて
Note.where(id: arr)を実行すると
=> id:1
title:xxxx
content:xxxx
category: xxxx
id:2
title:xxxx
content:xxxx
category: xxxx
id:3
title:xxxx
content:xxxx
category: xxxx
<以下、arr分続く>
上記のようにsortされた形で返ってきてしまうので、下記のように書き換えました。
Note.where(id: arry).order(['field(id, ?)', arry])
=> [4, 1, 5, 2, 3]
想定通りの結果が返ってきたのですが、上記のように、titleやcontentが得られませんでした。
viewでこの順番でNoteを表示したいので、アドバイス頂けますと幸いです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/25 15:54
2016/10/26 01:31