回答編集履歴

1

追記

2018/05/20 05:42

投稿

退会済みユーザー
test CHANGED
@@ -13,3 +13,117 @@
13
13
  ```
14
14
 
15
15
  じゃ、ダメですか
16
+
17
+
18
+
19
+ ```Ruby
20
+
21
+ irb(main):042:0> a = User.where(id: [1..3])
22
+
23
+ User Load (0.1ms) SELECT "users".* FROM "users" WHERE (("users"."id" BETWEEN 1 AND 3 OR 1=0))
24
+
25
+ +----+------+-------------------------+-------------------------+
26
+
27
+ | id | name | created_at | updated_at |
28
+
29
+ +----+------+-------------------------+-------------------------+
30
+
31
+ | 1 | hoge | 2018-05-20 05:32:58 UTC | 2018-05-20 05:32:58 UTC |
32
+
33
+ | 2 | hoge | 2018-05-20 05:32:58 UTC | 2018-05-20 05:32:58 UTC |
34
+
35
+ | 3 | hoge | 2018-05-20 05:32:59 UTC | 2018-05-20 05:32:59 UTC |
36
+
37
+ +----+------+-------------------------+-------------------------+
38
+
39
+ 3 rows in set
40
+
41
+ irb(main):043:0> b = User.where(id: [4..6])
42
+
43
+ User Load (0.1ms) SELECT "users".* FROM "users" WHERE (("users"."id" BETWEEN 4 AND 6 OR 1=0))
44
+
45
+ +----+------+-------------------------+-------------------------+
46
+
47
+ | id | name | created_at | updated_at |
48
+
49
+ +----+------+-------------------------+-------------------------+
50
+
51
+ | 4 | hoge | 2018-05-20 05:32:59 UTC | 2018-05-20 05:32:59 UTC |
52
+
53
+ | 5 | hoge | 2018-05-20 05:32:59 UTC | 2018-05-20 05:32:59 UTC |
54
+
55
+ | 6 | hoge | 2018-05-20 05:32:59 UTC | 2018-05-20 05:32:59 UTC |
56
+
57
+ +----+------+-------------------------+-------------------------+
58
+
59
+ 3 rows in set
60
+
61
+ irb(main):044:0> c = a | b
62
+
63
+ +----+------+-------------------------+-------------------------+
64
+
65
+ | id | name | created_at | updated_at |
66
+
67
+ +----+------+-------------------------+-------------------------+
68
+
69
+ | 1 | hoge | 2018-05-20 05:32:58 UTC | 2018-05-20 05:32:58 UTC |
70
+
71
+ | 2 | hoge | 2018-05-20 05:32:58 UTC | 2018-05-20 05:32:58 UTC |
72
+
73
+ | 3 | hoge | 2018-05-20 05:32:59 UTC | 2018-05-20 05:32:59 UTC |
74
+
75
+ | 4 | hoge | 2018-05-20 05:32:59 UTC | 2018-05-20 05:32:59 UTC |
76
+
77
+ | 5 | hoge | 2018-05-20 05:32:59 UTC | 2018-05-20 05:32:59 UTC |
78
+
79
+ | 6 | hoge | 2018-05-20 05:32:59 UTC | 2018-05-20 05:32:59 UTC |
80
+
81
+ +----+------+-------------------------+-------------------------+
82
+
83
+ 6 rows in set
84
+
85
+ irb(main):045:0> user = User.where(id: c.map(&:id))
86
+
87
+ User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."id" IN (1, 2, 3, 4, 5, 6)
88
+
89
+ +----+------+-------------------------+-------------------------+
90
+
91
+ | id | name | created_at | updated_at |
92
+
93
+ +----+------+-------------------------+-------------------------+
94
+
95
+ | 1 | hoge | 2018-05-20 05:32:58 UTC | 2018-05-20 05:32:58 UTC |
96
+
97
+ | 2 | hoge | 2018-05-20 05:32:58 UTC | 2018-05-20 05:32:58 UTC |
98
+
99
+ | 3 | hoge | 2018-05-20 05:32:59 UTC | 2018-05-20 05:32:59 UTC |
100
+
101
+ | 4 | hoge | 2018-05-20 05:32:59 UTC | 2018-05-20 05:32:59 UTC |
102
+
103
+ | 5 | hoge | 2018-05-20 05:32:59 UTC | 2018-05-20 05:32:59 UTC |
104
+
105
+ | 6 | hoge | 2018-05-20 05:32:59 UTC | 2018-05-20 05:32:59 UTC |
106
+
107
+ +----+------+-------------------------+-------------------------+
108
+
109
+ 6 rows in set
110
+
111
+ irb(main):046:0> user.where(id: 1)
112
+
113
+ User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."id" IN (1, 2, 3, 4, 5, 6) AND "users"."id" = 1
114
+
115
+ +----+------+-------------------------+-------------------------+
116
+
117
+ | id | name | created_at | updated_at |
118
+
119
+ +----+------+-------------------------+-------------------------+
120
+
121
+ | 1 | hoge | 2018-05-20 05:32:58 UTC | 2018-05-20 05:32:58 UTC |
122
+
123
+ +----+------+-------------------------+-------------------------+
124
+
125
+ 1 row in set
126
+
127
+
128
+
129
+ ```