質問編集履歴

4

修正

2018/07/11 03:37

投稿

olaf
olaf

スコア17

test CHANGED
File without changes
test CHANGED
@@ -42,13 +42,11 @@
42
42
 
43
43
  def index
44
44
 
45
+ search_results = Message.search({"query": {"match_all": {}}}).records
45
46
 
47
+ message_params = search_results.order(created_at: :desc)
46
48
 
47
- search_results = MessageSearchCondition.search({"query": {"match_all": {}}}).records
48
-
49
- message_search_conditions = search_results.order(created_at: :desc)
50
-
51
- @message_lists = search_results.group('message_room_id').from(message_search_conditions, :message_search_conditions).order(created_at: :desc)
49
+ @message_lists = search_results.group('message_room_id').from(message_params, :messages).order(created_at: :desc)
52
50
 
53
51
  end
54
52
 
@@ -64,7 +62,7 @@
64
62
 
65
63
  ```ruby
66
64
 
67
- search_results.group('message_room_id').from(message_search_conditions, :message_search_conditions).order(message_id: :desc)
65
+ search_results.group('message_room_id').from(message_params, :messages).order(created_at: :desc)
68
66
 
69
67
  ```
70
68
 

3

修正

2018/07/11 03:37

投稿

olaf
olaf

スコア17

test CHANGED
File without changes
test CHANGED
@@ -46,9 +46,9 @@
46
46
 
47
47
  search_results = MessageSearchCondition.search({"query": {"match_all": {}}}).records
48
48
 
49
- message_search_conditions = search_results.order(message_id: :desc)
49
+ message_search_conditions = search_results.order(created_at: :desc)
50
50
 
51
- @message_lists = search_results.group('message_room_id').from(message_search_conditions, :message_search_conditions).order(message_id: :desc)
51
+ @message_lists = search_results.group('message_room_id').from(message_search_conditions, :message_search_conditions).order(created_at: :desc)
52
52
 
53
53
  end
54
54
 

2

修正

2018/07/11 03:34

投稿

olaf
olaf

スコア17

test CHANGED
File without changes
test CHANGED
@@ -46,8 +46,6 @@
46
46
 
47
47
  search_results = MessageSearchCondition.search({"query": {"match_all": {}}}).records
48
48
 
49
- # search_results = MessageSearchCondition.all →正しく結果がかえってくる!
50
-
51
49
  message_search_conditions = search_results.order(message_id: :desc)
52
50
 
53
51
  @message_lists = search_results.group('message_room_id').from(message_search_conditions, :message_search_conditions).order(message_id: :desc)
@@ -59,3 +57,23 @@
59
57
 
60
58
 
61
59
  ```
60
+
61
+
62
+
63
+ なぜか最後の
64
+
65
+ ```ruby
66
+
67
+ search_results.group('message_room_id').from(message_search_conditions, :message_search_conditions).order(message_id: :desc)
68
+
69
+ ```
70
+
71
+ で正しくorder(.order(message_id: :desc))されません。
72
+
73
+ なお、SQLは正しく走っていました。
74
+
75
+
76
+
77
+ なぜSQLが正しく走っているのに、@message_listsの結果はorder byされていないのか疑問です。
78
+
79
+ お手数ですが、ご回答のほどよろしくお願いします。

1

修正

2018/07/11 03:34

投稿

olaf
olaf

スコア17

test CHANGED
File without changes
test CHANGED
File without changes