ID:LWDURV さんの質問

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は多対多です。

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

みんなの回答 2 件

ID:MbNkTY さんの回答

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

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

https://teratail.com/
ID:cV/HD7 さんの回答

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

最終更新日:2016-09-07 (904 views)

関連するトピックス

ページ上部に戻る