質問編集履歴

12

質問内容の修正

2019/06/06 06:14

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -44,13 +44,13 @@
44
44
 
45
45
  ```
46
46
 
47
-      ステータス100
47
+      ステータス100  名前  属性いろいろ…
48
48
 
49
- ユーザ1:  ◯
49
+ ユーザ1:  ◯ user1 abc
50
50
 
51
- ユーザ2:  ☓
51
+ ユーザ2:  ☓ user2 def
52
52
 
53
- ユーザ3:  ☓
53
+ ユーザ3:  ☓ user3 ghi
54
54
 
55
55
  ```
56
56
 

11

追記

2019/06/06 06:14

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -63,3 +63,47 @@
63
63
  でしぼってしまうとONのユーザしか取得できず一覧にユーザ自体が表示されなくなります
64
64
 
65
65
  なので select でカラムを追加してそこにステータスがONかOFFかを格納したいです
66
+
67
+
68
+
69
+ ### 追記
70
+
71
+
72
+
73
+ テーブル定義は必要なカラムだけですがこんな感じです
74
+
75
+ ```
76
+
77
+ class CreateUsers < ActiveRecord::Migration
78
+
79
+ def change
80
+
81
+ create_table :users do |t|
82
+
83
+ :
84
+
85
+ end
86
+
87
+ end
88
+
89
+ end
90
+
91
+
92
+
93
+ class CreateUserStatuses < ActiveRecord::Migration
94
+
95
+ def change
96
+
97
+ create_table :user_statuses do |t|
98
+
99
+ t.references :user, null: false, foreign_key: true, index: true
100
+
101
+ t.int :status_id, null: false
102
+
103
+ end
104
+
105
+ end
106
+
107
+ end
108
+
109
+ ```

10

質問内容の修正

2019/05/30 07:45

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -44,13 +44,13 @@
44
44
 
45
45
  ```
46
46
 
47
-      ステータス
47
+      ステータス100
48
48
 
49
- ユーザ1: ◯
49
+ ユーザ1: 
50
50
 
51
- ユーザ2: ☓
51
+ ユーザ2: 
52
52
 
53
- ユーザ3: ☓
53
+ ユーザ3: 
54
54
 
55
55
  ```
56
56
 

9

質問内容の修正

2019/05/29 02:47

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -42,6 +42,22 @@
42
42
 
43
43
  ほしいデータは「ユーザごとに」ステータスがONかOFFかというboolean情報で
44
44
 
45
+ ```
46
+
47
+      ステータス
48
+
49
+ ユーザ1: ◯
50
+
51
+ ユーザ2: ☓
52
+
53
+ ユーザ3: ☓
54
+
55
+ ```
56
+
57
+ のように表示したいです
58
+
59
+
60
+
45
61
  User.where(status_id: 100)
46
62
 
47
63
  でしぼってしまうとONのユーザしか取得できず一覧にユーザ自体が表示されなくなります

8

質問内容の修正

2019/05/29 02:46

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -40,8 +40,10 @@
40
40
 
41
41
 
42
42
 
43
+ ほしいデータは「ユーザごとに」ステータスがONかOFFかというboolean情報で
44
+
43
45
  User.where(status_id: 100)
44
46
 
45
47
  でしぼってしまうとONのユーザしか取得できず一覧にユーザ自体が表示されなくなります
46
48
 
47
- select でカラムを追加してそこにステータスがONかOFFかを格納したいです
49
+ なので select でカラムを追加してそこにステータスがONかOFFかを格納したいです

7

質問内容の修正

2019/05/24 01:48

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -40,7 +40,7 @@
40
40
 
41
41
 
42
42
 
43
- > User.where(status_id: 100)
43
+ User.where(status_id: 100)
44
44
 
45
45
  でしぼってしまうとONのユーザしか取得できず一覧にユーザ自体が表示されなくなります
46
46
 

6

質問内容の修正

2019/05/24 01:48

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -29,3 +29,19 @@
29
29
 
30
30
 
31
31
  といわれてしまいます
32
+
33
+
34
+
35
+ ### 追記
36
+
37
+
38
+
39
+ ユーザーとステータスは1対多です
40
+
41
+
42
+
43
+ > User.where(status_id: 100)
44
+
45
+ でしぼってしまうとONのユーザしか取得できず一覧にユーザ自体が表示されなくなります
46
+
47
+ select でカラムを追加してそこにステータスがONかOFFかを格納したいです

5

質問内容の修正

2019/05/24 01:46

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,9 @@
4
4
 
5
5
 
6
6
 
7
+ ユーザ一覧画面で
8
+
7
- たとえば status_id = 100 のレコードをもつかどうかを一覧に表示したい場合どうかけばいいのでしょうか
9
+ たとえば status_id = 100 のレコードをもつかどうかを表示したい場合どうかけばいいのでしょうか
8
10
 
9
11
 
10
12
 

4

質問内容の修正

2019/05/23 11:01

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- has_many でもってるレコードが存在するかどうかを取り出して一覧表示したい
1
+ has_many でもってるレコードが存在するかどうかの boolean を取り出したい
test CHANGED
File without changes

3

質問内容の修正

2019/05/23 11:00

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- has_many でもってるレコードが存在するかどうかの boolean を取り出したい
1
+ has_many でもってるレコードが存在するかどうかを取り出して一覧表示したい
test CHANGED
File without changes

2

質問内容の修正

2019/05/23 11:00

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
- user_statuses テーブルに
1
+ user_statuses テーブルに fk: user_id と status_id があって
2
2
 
3
- user_id, status_id があって users から has_many で関連付けられています
3
+ users から has_many で関連付けられています
4
4
 
5
5
 
6
6
 
@@ -12,7 +12,9 @@
12
12
 
13
13
  status_id = 100
14
14
 
15
+ @users = Users.includes(:user_statuses)
16
+
15
- @users = Users.includes(:user_statuses).select("count(CASE WHEN user_statuses.status_id = #{status_id} THEN 1 ELSE NULL END) AS user_status_#{status_id}")
17
+ .select("count(CASE WHEN user_statuses.status_id = #{status_id} THEN 1 ELSE NULL END) AS user_status_#{status_id}")
16
18
 
17
19
  ```
18
20
 

1

質問内容の修正

2019/05/23 10:59

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  user_statuses テーブルに
2
2
 
3
- user_id, status_id 傾向があって users から has_many で関連付けられています
3
+ user_id, status_id があって users から has_many で関連付けられています
4
4
 
5
5
 
6
6