回答編集履歴

3

解答の追記

2016/09/20 15:17

投稿

natady
natady

スコア606

test CHANGED
@@ -34,4 +34,38 @@
34
34
 
35
35
 
36
36
 
37
+ ## 追記
37
38
 
39
+ favoritepageメソッドの引数`$id`がユーザのIDとするとこのように書けば良いはずです。
40
+
41
+
42
+
43
+ ```php
44
+
45
+ public function favoritepage( $id )
46
+
47
+ {
48
+
49
+ $favorites = User::find($id)->favorites()->lists('favorite');
50
+
51
+
52
+
53
+ dd($favorites);
54
+
55
+ }
56
+
57
+ ```
58
+
59
+
60
+
61
+ そしてどうやら`hasMany`メソッドの引数の順序が違うみたいです。
62
+
63
+
64
+
65
+ ```php
66
+
67
+ return $this->hasMany(Favorite::class, 'user_id', 'id');
68
+
69
+ ```
70
+
71
+

2

ご質問内容を仮定して解答

2016/09/20 15:17

投稿

natady
natady

スコア606

test CHANGED
@@ -1,5 +1,37 @@
1
- 読み間違えまし。ごめんなさい。
1
+ 仮にご質問を「ユーザ毎のfavoriteの一覧を作りたい」と解釈すると以下のコードでできます
2
2
 
3
3
 
4
4
 
5
+ ```php
6
+
7
+ public function favoritepage( $id )
8
+
9
+ {
10
+
11
+ $users = User::all();
12
+
13
+ foreach ($users as $user) {
14
+
15
+ $favorites[$user->id] = $user->favorites()->lists('favorite');
16
+
17
+ }
18
+
19
+
20
+
5
- 「UserのFavorite」とどのような状態出したいのでしょうか?
21
+ // echo配列は出力でき。文字列み。
22
+
23
+ // echo $favorites;
24
+
25
+
26
+
27
+ // Laravelには`die(var_dump($hoge))`のようなことをやってくれる関数があるのでそれを使う。
28
+
29
+ dd($favorites);
30
+
31
+ }
32
+
33
+ ```
34
+
35
+
36
+
37
+

1

読み間違いのため修正

2016/09/20 00:29

投稿

natady
natady

スコア606

test CHANGED
@@ -1,35 +1,5 @@
1
- `favorite`カラムだけでしたら、これで可能です
1
+ 読み間違えました。ごめんなさい。
2
2
 
3
3
 
4
4
 
5
- ```php
6
-
7
- public function favoritepage( $id )
8
-
9
- {
10
-
11
- $user = User::all();
12
-
13
- $favorites = $user->favorites()->where('id', $id)->lists('favorite');
14
-
15
-
16
-
17
- // echo配列は出力でき。文字列み。
5
+ 「UserのFavorite」とどのような状態出したいのでしょうか?
18
-
19
- // echo $favorites;
20
-
21
-
22
-
23
- // Laravelには`die(var_dump($hoge))`のようなことをやってくれる関数があるのでそれを使う。
24
-
25
- dd($favorites);
26
-
27
- }
28
-
29
- ```
30
-
31
-
32
-
33
- 詳しくは[こちら](http://cheats.jesse-obrien.ca/)を御覧ください。
34
-
35
- listsとかで検索かけるとクエリビルダのリストが出てきます。