質問編集履歴

5

追記

2020/05/14 11:52

投稿

creative_09
creative_09

スコア80

test CHANGED
File without changes
test CHANGED
@@ -1,10 +1,6 @@
1
1
  Laravelでユーザーのお気に入りテーブルから商品情報とそのリレーションを貼った情報を表示する方法がわかりません。
2
2
 
3
3
 
4
-
5
- 追記:ここから
6
-
7
- 質問をシンプルにします
8
4
 
9
5
  以下のコードで取得しています
10
6
 
@@ -44,9 +40,11 @@
44
40
 
45
41
  2つに分けて取得するにはどうすればよいのでしょうか?
46
42
 
47
- 追記:ここまで
48
43
 
49
44
 
45
+
46
+
47
+ ===ここから下は質問をシンプルにする前の質問ですので読み飛ばしてください===
50
48
 
51
49
 
52
50
 

4

追記

2020/05/14 11:52

投稿

creative_09
creative_09

スコア80

test CHANGED
File without changes
test CHANGED
@@ -127,127 +127,3 @@
127
127
  どうしたらよいのでしょうか?
128
128
 
129
129
  よろしくお願い致します
130
-
131
-
132
-
133
- 追記:
134
-
135
- 説明がうまくできず申し訳ございません。
136
-
137
- やりたいことは
138
-
139
- まず、お気に入りテーブルから登録してる商品のIDを取得します
140
-
141
- レコードが5件あった場合、
142
-
143
- その5件の商品情報を取得するためのコードが知りたいです
144
-
145
-
146
-
147
- お気に入り
148
-
149
- ```ここに言語を入力
150
-
151
- class Favorite extends Model
152
-
153
- {
154
-
155
- //
156
-
157
- protected $fillable = [
158
-
159
- 'user_id',
160
-
161
- 'product_id',
162
-
163
- ];
164
-
165
-
166
-
167
- public function user()
168
-
169
- {
170
-
171
- return $this->belongsTo('App\User');
172
-
173
- }
174
-
175
-
176
-
177
- public function product()
178
-
179
- {
180
-
181
- return $this->belongsTo('App\Product');
182
-
183
- }
184
-
185
- }
186
-
187
- ```
188
-
189
-
190
-
191
- 商品
192
-
193
-
194
-
195
- ```ここに言語を入力
196
-
197
- class Product extends Model
198
-
199
- {
200
-
201
- //
202
-
203
- use SoftDeletes;
204
-
205
-
206
-
207
- // protected $table = 'Product';
208
-
209
- protected $dates = [
210
-
211
- 'deleted_at',
212
-
213
- 'start_date',
214
-
215
- 'end_date',
216
-
217
- 'haisou_start',
218
-
219
- ];
220
-
221
-
222
-
223
- public function productComments()
224
-
225
- {
226
-
227
- return $this->hasMany('App\ProductComment');
228
-
229
- }
230
-
231
-
232
-
233
- public function favorites()
234
-
235
- {
236
-
237
- return $this->hasMany('App\Favorite');
238
-
239
- }
240
-
241
-
242
-
243
- public function productImages()
244
-
245
- {
246
-
247
- return $this->hasMany('App\ProductImage');
248
-
249
- }
250
-
251
- }
252
-
253
- ```

3

追記

2020/05/14 11:39

投稿

creative_09
creative_09

スコア80

test CHANGED
File without changes
test CHANGED
@@ -2,6 +2,60 @@
2
2
 
3
3
 
4
4
 
5
+ 追記:ここから
6
+
7
+ 質問をシンプルにします
8
+
9
+ 以下のコードで取得しています
10
+
11
+ ```ここに言語を入力
12
+
13
+ $products = $user->favorites()->with('product')->get();
14
+
15
+ ```
16
+
17
+ これをお気に入りの取得と
18
+
19
+ 取得したお気に入りの結果から商品情報を取得
20
+
21
+ の2つに分けたいです。
22
+
23
+
24
+
25
+ やってみたこととして
26
+
27
+ ```ここに言語を入力
28
+
29
+ お気に入りの取得
30
+
31
+ $favorites = Favorite::where('user_id', $user->id)->get();
32
+
33
+ 結果から商品を取得
34
+
35
+ $products = Product::where('product_id', $favorites)->get();
36
+
37
+
38
+
39
+ $products = Product::where('product_id', $favorites->product_id)->get();
40
+
41
+ ```
42
+
43
+ としていますが、うまく商品を取得出来ていません
44
+
45
+ 2つに分けて取得するにはどうすればよいのでしょうか?
46
+
47
+ 追記:ここまで
48
+
49
+
50
+
51
+
52
+
53
+ やってみたことは
54
+
55
+ $products = $user->favorites()->with('product')->get();
56
+
57
+
58
+
5
59
  ```ここに言語を入力
6
60
 
7
61
  //お気に入りとその商品情報を取得

2

モデルの追記

2020/05/14 11:06

投稿

creative_09
creative_09

スコア80

test CHANGED
File without changes
test CHANGED
@@ -87,3 +87,113 @@
87
87
  レコードが5件あった場合、
88
88
 
89
89
  その5件の商品情報を取得するためのコードが知りたいです
90
+
91
+
92
+
93
+ お気に入り
94
+
95
+ ```ここに言語を入力
96
+
97
+ class Favorite extends Model
98
+
99
+ {
100
+
101
+ //
102
+
103
+ protected $fillable = [
104
+
105
+ 'user_id',
106
+
107
+ 'product_id',
108
+
109
+ ];
110
+
111
+
112
+
113
+ public function user()
114
+
115
+ {
116
+
117
+ return $this->belongsTo('App\User');
118
+
119
+ }
120
+
121
+
122
+
123
+ public function product()
124
+
125
+ {
126
+
127
+ return $this->belongsTo('App\Product');
128
+
129
+ }
130
+
131
+ }
132
+
133
+ ```
134
+
135
+
136
+
137
+ 商品
138
+
139
+
140
+
141
+ ```ここに言語を入力
142
+
143
+ class Product extends Model
144
+
145
+ {
146
+
147
+ //
148
+
149
+ use SoftDeletes;
150
+
151
+
152
+
153
+ // protected $table = 'Product';
154
+
155
+ protected $dates = [
156
+
157
+ 'deleted_at',
158
+
159
+ 'start_date',
160
+
161
+ 'end_date',
162
+
163
+ 'haisou_start',
164
+
165
+ ];
166
+
167
+
168
+
169
+ public function productComments()
170
+
171
+ {
172
+
173
+ return $this->hasMany('App\ProductComment');
174
+
175
+ }
176
+
177
+
178
+
179
+ public function favorites()
180
+
181
+ {
182
+
183
+ return $this->hasMany('App\Favorite');
184
+
185
+ }
186
+
187
+
188
+
189
+ public function productImages()
190
+
191
+ {
192
+
193
+ return $this->hasMany('App\ProductImage');
194
+
195
+ }
196
+
197
+ }
198
+
199
+ ```

1

説明追記

2020/05/14 09:59

投稿

creative_09
creative_09

スコア80

test CHANGED
File without changes
test CHANGED
@@ -73,3 +73,17 @@
73
73
  どうしたらよいのでしょうか?
74
74
 
75
75
  よろしくお願い致します
76
+
77
+
78
+
79
+ 追記:
80
+
81
+ 説明がうまくできず申し訳ございません。
82
+
83
+ やりたいことは
84
+
85
+ まず、お気に入りテーブルから登録してる商品のIDを取得します
86
+
87
+ レコードが5件あった場合、
88
+
89
+ その5件の商品情報を取得するためのコードが知りたいです