ID:LWDURVerm48e さんの質問

627 views

Rails: Active Recodeについて

新着メッセージ一覧を表示したいと考えています。
以下のように.reverse_orderを入れ替えても逆になりません。

Message.where("user_id = ?", current_user.id).group(:to_user_id).reverse_order

Message.where("user_id = ?", current_user.id).reverse_order.group(:to_user_id)

やりたいこととしては、

- user_idがcurrent_user.idである行をすべて取り出す【できた】
- 複数の同一to_user_idからcreated_atが最も直近のみ取り出す
(例えばto_user_idが413の行が4行みつかったら、created_atを比較して直近のみ1つ取り出したい)
- created_atが新しい順で並べる(逆にする)

user_idとto_user_idは多対多です。

どうしたらよいでしょうか...

登録日:2016-09-03 · カテゴリー:一般

みんなの回答 2 件

2016-09-06 · ID:MbNkTYwU.ZCU 報告

ここの住人は自称プログラマしかいないから技術的な質問は↓こっちでしたほうがいいよ

teratail【テラテイル】|思考するエンジニアのためのQAプラットフォーム

https://teratail.com/
2016-09-07 · ID:cV/HD72mTXcT 報告

.order(created_at: :desc).firstでダメでした?

回答の受付は終了しました。