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

質問編集履歴

12

質問内容の修正

2019/06/06 06:14

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -21,10 +21,10 @@
21
21
 
22
22
  ほしいデータは「ユーザごとに」ステータスがONかOFFかというboolean情報で
23
23
  ```
24
-      ステータス100
24
+      ステータス100  名前  属性いろいろ…
25
- ユーザ1:  ◯
25
+ ユーザ1:  ◯ user1 abc
26
- ユーザ2:  ☓
26
+ ユーザ2:  ☓ user2 def
27
- ユーザ3:  ☓
27
+ ユーザ3:  ☓ user3 ghi
28
28
  ```
29
29
  のように表示したいです
30
30
 

11

追記

2019/06/06 06:14

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -30,4 +30,26 @@
30
30
 
31
31
  User.where(status_id: 100)
32
32
  でしぼってしまうとONのユーザしか取得できず一覧にユーザ自体が表示されなくなります
33
- なので select でカラムを追加してそこにステータスがONかOFFかを格納したいです
33
+ なので select でカラムを追加してそこにステータスがONかOFFかを格納したいです
34
+
35
+ ### 追記
36
+
37
+ テーブル定義は必要なカラムだけですがこんな感じです
38
+ ```
39
+ class CreateUsers < ActiveRecord::Migration
40
+ def change
41
+ create_table :users do |t|
42
+ :
43
+ end
44
+ end
45
+ end
46
+
47
+ class CreateUserStatuses < ActiveRecord::Migration
48
+ def change
49
+ create_table :user_statuses do |t|
50
+ t.references :user, null: false, foreign_key: true, index: true
51
+ t.int :status_id, null: false
52
+ end
53
+ end
54
+ end
55
+ ```

10

質問内容の修正

2019/05/30 07:45

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -21,10 +21,10 @@
21
21
 
22
22
  ほしいデータは「ユーザごとに」ステータスがONかOFFかというboolean情報で
23
23
  ```
24
-      ステータス
24
+      ステータス100
25
- ユーザ1: 
25
+ ユーザ1: 
26
- ユーザ2: 
26
+ ユーザ2: 
27
- ユーザ3: 
27
+ ユーザ3: 
28
28
  ```
29
29
  のように表示したいです
30
30
 

9

質問内容の修正

2019/05/29 02:47

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -20,6 +20,14 @@
20
20
  ユーザーとステータスは1対多です
21
21
 
22
22
  ほしいデータは「ユーザごとに」ステータスがONかOFFかというboolean情報で
23
+ ```
24
+      ステータス
25
+ ユーザ1: ◯
26
+ ユーザ2: ☓
27
+ ユーザ3: ☓
28
+ ```
29
+ のように表示したいです
30
+
23
31
  User.where(status_id: 100)
24
32
  でしぼってしまうとONのユーザしか取得できず一覧にユーザ自体が表示されなくなります
25
33
  なので select でカラムを追加してそこにステータスがONかOFFかを格納したいです

8

質問内容の修正

2019/05/29 02:46

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -19,6 +19,7 @@
19
19
 
20
20
  ユーザーとステータスは1対多です
21
21
 
22
+ ほしいデータは「ユーザごとに」ステータスがONかOFFかというboolean情報で
22
23
  User.where(status_id: 100)
23
24
  でしぼってしまうとONのユーザしか取得できず一覧にユーザ自体が表示されなくなります
24
- select でカラムを追加してそこにステータスがONかOFFかを格納したいです
25
+ なので select でカラムを追加してそこにステータスがONかOFFかを格納したいです

7

質問内容の修正

2019/05/24 01:48

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -19,6 +19,6 @@
19
19
 
20
20
  ユーザーとステータスは1対多です
21
21
 
22
- > User.where(status_id: 100)
22
+ User.where(status_id: 100)
23
23
  でしぼってしまうとONのユーザしか取得できず一覧にユーザ自体が表示されなくなります
24
24
  select でカラムを追加してそこにステータスがONかOFFかを格納したいです

6

質問内容の修正

2019/05/24 01:48

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -13,4 +13,12 @@
13
13
 
14
14
  `Mysql2::Error: Unknown column 'user_statuses.status_id`
15
15
 
16
- といわれてしまいます
16
+ といわれてしまいます
17
+
18
+ ### 追記
19
+
20
+ ユーザーとステータスは1対多です
21
+
22
+ > User.where(status_id: 100)
23
+ でしぼってしまうとONのユーザしか取得できず一覧にユーザ自体が表示されなくなります
24
+ select でカラムを追加してそこにステータスがONかOFFかを格納したいです

5

質問内容の修正

2019/05/24 01:46

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,8 @@
1
1
  user_statuses テーブルに fk: user_id と status_id があって
2
2
  users から has_many で関連付けられています
3
3
 
4
+ ユーザ一覧画面で
4
- たとえば status_id = 100 のレコードをもつかどうかを一覧に表示したい場合どうかけばいいのでしょうか
5
+ たとえば status_id = 100 のレコードをもつかどうかを表示したい場合どうかけばいいのでしょうか
5
6
 
6
7
  ```
7
8
  status_id = 100

4

質問内容の修正

2019/05/23 11:01

投稿

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

3

質問内容の修正

2019/05/23 11:00

投稿

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

2

質問内容の修正

2019/05/23 11:00

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,11 +1,12 @@
1
- user_statuses テーブルに
1
+ user_statuses テーブルに fk: user_id と status_id があって
2
- user_id, status_id があって users から has_many で関連付けられています
2
+ users から has_many で関連付けられています
3
3
 
4
4
  たとえば status_id = 100 のレコードをもつかどうかを一覧に表示したい場合どうかけばいいのでしょうか
5
5
 
6
6
  ```
7
7
  status_id = 100
8
+ @users = Users.includes(:user_statuses)
8
- @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}")
9
+ .select("count(CASE WHEN user_statuses.status_id = #{status_id} THEN 1 ELSE NULL END) AS user_status_#{status_id}")
9
10
  ```
10
11
  のようにかいてみたんですが
11
12
 

1

質問内容の修正

2019/05/23 10:59

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,5 @@
1
1
  user_statuses テーブルに
2
- user_id, status_id 傾向があって users から has_many で関連付けられています
2
+ user_id, status_id があって users から has_many で関連付けられています
3
3
 
4
4
  たとえば status_id = 100 のレコードをもつかどうかを一覧に表示したい場合どうかけばいいのでしょうか
5
5