質問編集履歴

3

テーブル構成を追加

2020/10/22 13:48

投稿

yomigi
yomigi

スコア43

test CHANGED
File without changes
test CHANGED
@@ -1,3 +1,89 @@
1
+ - Roomテーブル
2
+
3
+
4
+
5
+ |ID|name|
6
+
7
+ |:--|--:|
8
+
9
+ |1|room1|
10
+
11
+
12
+
13
+
14
+
15
+ - Userテーブル
16
+
17
+
18
+
19
+ |ID|room_id|name|
20
+
21
+ |:--|:--:|--:|
22
+
23
+ |1|1|ユーザ1|
24
+
25
+ |2|1|ユーザ2|
26
+
27
+
28
+
29
+
30
+
31
+ - Postテーブル
32
+
33
+
34
+
35
+ |ID|room_id|user_id|name|
36
+
37
+ |:--|:--:|:--:|--:|
38
+
39
+ |1|1|1|post1|
40
+
41
+ |2|1|2|post2|
42
+
43
+
44
+
45
+
46
+
47
+ - Commentテーブル
48
+
49
+
50
+
51
+ |ID|room_id|user_id|post_id|message|
52
+
53
+ |:--|:--:|:--:|:--:|--:|
54
+
55
+ |1|1|1|1|comment1|
56
+
57
+ |2|1|1|1|comment2|
58
+
59
+ |3|1|2|2|comment3|
60
+
61
+
62
+
63
+
64
+
65
+ - Assetテーブル
66
+
67
+
68
+
69
+ |ID|room_id|user_id|post_id|comment_id|asset_type|file_path|
70
+
71
+ |:--|:--:|:--:|:--:|:--:|:--:|--:|
72
+
73
+ |1|1|1|1|null|image|XXX/YYY|
74
+
75
+ |2|1|2|null|null|image|XXX/YYY|
76
+
77
+ |3|1|1|1|2|image|XXX/YYY|
78
+
79
+ |4|1|2|2|3|image|XXX/YYY|
80
+
81
+ |5|1|2|2|3|movie|XXX/YYY|
82
+
83
+
84
+
85
+
86
+
1
87
  ```
2
88
 
3
89
  class Room < ApplicationRecord

2

例の中身にミスがあったので修正(Commentモデル=>Assetモデル)

2020/10/22 13:48

投稿

yomigi
yomigi

スコア43

test CHANGED
File without changes
test CHANGED
@@ -82,7 +82,7 @@
82
82
 
83
83
  各モデルには外部キーとして所属するモデルのIDを持っているとさせてください。
84
84
 
85
- 例:Userモデルにはroom_idがあり、Commentモデルにはuser_idとpost_idとcomment_idがある・・という状況
85
+ 例:Userモデルにはroom_idがあり、Assetモデルにはuser_idとpost_idとcomment_idがある・・という状況
86
86
 
87
87
 
88
88
 

1

追記

2020/10/22 13:08

投稿

yomigi
yomigi

スコア43

test CHANGED
File without changes
test CHANGED
@@ -109,3 +109,13 @@
109
109
  Room.find_by(id: room_id).users.includes(posts: {comments: [:movies, :images]})
110
110
 
111
111
  ```
112
+
113
+
114
+
115
+ 追記:
116
+
117
+ includesで、と書いてしまいましたが、
118
+
119
+ 上記内容(少ないSQLで関連テーブルの情報を合わせて取得する)が達成できれば
120
+
121
+ どんな方法でも構いません。