質問編集履歴
3
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -52,7 +52,7 @@
|
|
52
52
|
をもってる)
|
53
53
|
|
54
54
|
で status_list = [2,3] を検索キーとしてあたえたときにこの全部をもっているユーザを探して
|
55
|
-
この場合 ユーザ1 とユーザ2
|
55
|
+
この場合 ユーザ1 とユーザ2 (ユーザ3 はステータス 2 をもってないので除外)
|
56
56
|
を id ではなく [<User1> <User2>] のような users のリレーションとして出力したいです
|
57
57
|
(このあと Users に対しても where でしぼりこみをかけるため)
|
58
58
|
```
|
2
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -58,4 +58,6 @@
|
|
58
58
|
```
|
59
59
|
users.where("id IN (SELECT user_id FROM user_statuses WHERE status_id IN #{status_list})")
|
60
60
|
```
|
61
|
-
のようにかけば動きそうな気がするのですが user_statuses をインデックスのついてない status_id で検索してることになって遅くならなりそうなので、user_statuses の検索は foreign key? (意味がよくわかってないですが)のついてるuser_id をキーに検索をかけたいです
|
61
|
+
のようにかけば動きそうな気がするのですが user_statuses をインデックスのついてない status_id で検索してることになって遅くならなりそうなので、user_statuses の検索は foreign key? (意味がよくわかってないですが)のついてるuser_id をキーに検索をかけたいです
|
62
|
+
|
63
|
+
Rails の ActiveRecord メソッドとSQLがまざってしまってますがすいません…
|
1
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -24,4 +24,38 @@
|
|
24
24
|
|
25
25
|
みたいな条件で検索したいです
|
26
26
|
|
27
|
-
つまり検索中のユーザのIDを他のテーブル検索の条件につかいたいんですがこういうことってできるのでしょうか
|
27
|
+
つまり検索中のユーザのIDを他のテーブル検索の条件につかいたいんですがこういうことってできるのでしょうか
|
28
|
+
|
29
|
+
|
30
|
+
サンプル:
|
31
|
+
|
32
|
+
[users table]
|
33
|
+
1
|
34
|
+
2
|
35
|
+
3
|
36
|
+
|
37
|
+
[user_statuses table]
|
38
|
+
user_id status_id
|
39
|
+
1 1
|
40
|
+
1 2
|
41
|
+
1 3
|
42
|
+
2 2
|
43
|
+
2 3
|
44
|
+
2 4
|
45
|
+
3 3
|
46
|
+
3 4
|
47
|
+
3 5
|
48
|
+
|
49
|
+
(ユーザ1 はステータス 1,2,3
|
50
|
+
ユーザ2 はステータス 2,3,4
|
51
|
+
ユーザ3 はステータス 3,4,5
|
52
|
+
をもってる)
|
53
|
+
|
54
|
+
で status_list = [2,3] を検索キーとしてあたえたときにこの全部をもっているユーザを探して
|
55
|
+
この場合 ユーザ1 とユーザ2
|
56
|
+
を id ではなく [<User1> <User2>] のような users のリレーションとして出力したいです
|
57
|
+
(このあと Users に対しても where でしぼりこみをかけるため)
|
58
|
+
```
|
59
|
+
users.where("id IN (SELECT user_id FROM user_statuses WHERE status_id IN #{status_list})")
|
60
|
+
```
|
61
|
+
のようにかけば動きそうな気がするのですが user_statuses をインデックスのついてない status_id で検索してることになって遅くならなりそうなので、user_statuses の検索は foreign key? (意味がよくわかってないですが)のついてるuser_id をキーに検索をかけたいです
|