teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2018/05/20 05:42

投稿

退会済みユーザー
answer CHANGED
@@ -5,4 +5,61 @@
5
5
  user = User.where(id: c.map(&:id))
6
6
 
7
7
  ```
8
- じゃ、ダメですか
8
+ じゃ、ダメですか
9
+
10
+ ```Ruby
11
+ irb(main):042:0> a = User.where(id: [1..3])
12
+ User Load (0.1ms) SELECT "users".* FROM "users" WHERE (("users"."id" BETWEEN 1 AND 3 OR 1=0))
13
+ +----+------+-------------------------+-------------------------+
14
+ | id | name | created_at | updated_at |
15
+ +----+------+-------------------------+-------------------------+
16
+ | 1 | hoge | 2018-05-20 05:32:58 UTC | 2018-05-20 05:32:58 UTC |
17
+ | 2 | hoge | 2018-05-20 05:32:58 UTC | 2018-05-20 05:32:58 UTC |
18
+ | 3 | hoge | 2018-05-20 05:32:59 UTC | 2018-05-20 05:32:59 UTC |
19
+ +----+------+-------------------------+-------------------------+
20
+ 3 rows in set
21
+ irb(main):043:0> b = User.where(id: [4..6])
22
+ User Load (0.1ms) SELECT "users".* FROM "users" WHERE (("users"."id" BETWEEN 4 AND 6 OR 1=0))
23
+ +----+------+-------------------------+-------------------------+
24
+ | id | name | created_at | updated_at |
25
+ +----+------+-------------------------+-------------------------+
26
+ | 4 | hoge | 2018-05-20 05:32:59 UTC | 2018-05-20 05:32:59 UTC |
27
+ | 5 | hoge | 2018-05-20 05:32:59 UTC | 2018-05-20 05:32:59 UTC |
28
+ | 6 | hoge | 2018-05-20 05:32:59 UTC | 2018-05-20 05:32:59 UTC |
29
+ +----+------+-------------------------+-------------------------+
30
+ 3 rows in set
31
+ irb(main):044:0> c = a | b
32
+ +----+------+-------------------------+-------------------------+
33
+ | id | name | created_at | updated_at |
34
+ +----+------+-------------------------+-------------------------+
35
+ | 1 | hoge | 2018-05-20 05:32:58 UTC | 2018-05-20 05:32:58 UTC |
36
+ | 2 | hoge | 2018-05-20 05:32:58 UTC | 2018-05-20 05:32:58 UTC |
37
+ | 3 | hoge | 2018-05-20 05:32:59 UTC | 2018-05-20 05:32:59 UTC |
38
+ | 4 | hoge | 2018-05-20 05:32:59 UTC | 2018-05-20 05:32:59 UTC |
39
+ | 5 | hoge | 2018-05-20 05:32:59 UTC | 2018-05-20 05:32:59 UTC |
40
+ | 6 | hoge | 2018-05-20 05:32:59 UTC | 2018-05-20 05:32:59 UTC |
41
+ +----+------+-------------------------+-------------------------+
42
+ 6 rows in set
43
+ irb(main):045:0> user = User.where(id: c.map(&:id))
44
+ User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."id" IN (1, 2, 3, 4, 5, 6)
45
+ +----+------+-------------------------+-------------------------+
46
+ | id | name | created_at | updated_at |
47
+ +----+------+-------------------------+-------------------------+
48
+ | 1 | hoge | 2018-05-20 05:32:58 UTC | 2018-05-20 05:32:58 UTC |
49
+ | 2 | hoge | 2018-05-20 05:32:58 UTC | 2018-05-20 05:32:58 UTC |
50
+ | 3 | hoge | 2018-05-20 05:32:59 UTC | 2018-05-20 05:32:59 UTC |
51
+ | 4 | hoge | 2018-05-20 05:32:59 UTC | 2018-05-20 05:32:59 UTC |
52
+ | 5 | hoge | 2018-05-20 05:32:59 UTC | 2018-05-20 05:32:59 UTC |
53
+ | 6 | hoge | 2018-05-20 05:32:59 UTC | 2018-05-20 05:32:59 UTC |
54
+ +----+------+-------------------------+-------------------------+
55
+ 6 rows in set
56
+ irb(main):046:0> user.where(id: 1)
57
+ User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."id" IN (1, 2, 3, 4, 5, 6) AND "users"."id" = 1
58
+ +----+------+-------------------------+-------------------------+
59
+ | id | name | created_at | updated_at |
60
+ +----+------+-------------------------+-------------------------+
61
+ | 1 | hoge | 2018-05-20 05:32:58 UTC | 2018-05-20 05:32:58 UTC |
62
+ +----+------+-------------------------+-------------------------+
63
+ 1 row in set
64
+
65
+ ```