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

回答編集履歴

2

逆の方向も追記

2016/06/09 10:21

投稿

rifuch
rifuch

スコア1901

answer CHANGED
@@ -4,4 +4,18 @@
4
4
  で行けませんか?
5
5
  後は普通にループで回せば全件アクセス可能です。
6
6
 
7
+ 逆に、Commentを先に取得したい場合は、
8
+ ```Ruby
9
+ User.includes(comments: :article)
10
+ ```
11
+ で行けると思います。
12
+
13
+ おそらく、Commentが参照しているUserとArticleが参照しているUserは意味合いが違うはずなので、
14
+ これで良いかと思います。
15
+
7
- rails eager loading includes あたりで情報をあさるといいかと。
16
+ rails eager loading includes あたりで情報をあさるといいかと。
17
+
18
+ p.s.
19
+ Userのhas_manyは本当は複数形ですよね?
20
+ has_many :articles
21
+ has_many :comments

1

抜けていた部分を修正

2016/06/09 10:21

投稿

rifuch
rifuch

スコア1901

answer CHANGED
@@ -1,13 +1,7 @@
1
1
  ```Ruby
2
- User.includes(:articles)
2
+ User.includes(articles: :comments)
3
3
  ```
4
4
  で行けませんか?
5
5
  後は普通にループで回せば全件アクセス可能です。
6
6
 
7
- 逆がほしいときは
8
- ```Ruby
9
- Article.includes(:user)
10
- ```
11
- でアクセスできるはず。
12
-
13
7
  rails eager loading includes あたりで情報をあさるといいかと。