質問編集履歴

3

2020/09/30 01:50

投稿

chocomint20
chocomint20

スコア1

test CHANGED
File without changes
test CHANGED
@@ -88,11 +88,11 @@
88
88
 
89
89
  ```
90
90
 
91
- public function aidhias()
91
+ public function products()
92
92
 
93
93
  {
94
94
 
95
- return $this->hasMany('App\Aidhia');
95
+ return $this->hasMany('App\Product');
96
96
 
97
97
  }
98
98
 

2

訂正

2020/09/30 01:50

投稿

chocomint20
chocomint20

スコア1

test CHANGED
File without changes
test CHANGED
@@ -2,18 +2,190 @@
2
2
 
3
3
  この記事を参考にして、中間テーブルのリレーションを取得したのですがさらにここからリレーション先のリレーションを取得するにはどうしたらいいのでしょう。
4
4
 
5
- 例えば参考の記事で言うとimagesテーブルにcategory_idというカラムがありcategoriesテーブルとリレーションしているとします。参考記事の方法でimagesテーブルの情報を取得し、さらにそこからそのimagesテーブルのcategory_idに紐付いたcategoriesテーブルの情報を取得するにはどのようにすればいいのでしょうか。
5
+ productsテーブルにcategory_idというカラムがありcategoriesテーブルとリレーションしているとします。参考記事の方法でproductsテーブルの情報を取得し、さらにそこからそのproductsテーブルのcategory_idに紐付いたcategoriesテーブルの情報を取得するにはどのようにすればいいのでしょうか。
6
6
 
7
- withを使い
7
+ ■テーブル設計
8
+
9
+ 【usersテーブル】
10
+
11
+ id | name | password | created_at | updated_at |
8
12
 
9
13
 
10
14
 
11
- ```
15
+ 【productsテーブル】
12
16
 
13
- $viewDate["favoriteImages"] = $user->favoriteImages->with(['category'])
17
+ id | title | price | category_id |user_id | created_at | updated_at |
18
+
19
+
20
+
21
+ 【favoritesテーブル】
22
+
23
+ user_id | product_id | created_at | updated_at |
24
+
25
+
26
+
27
+ 【categoriesテーブル】
28
+
29
+ id | name | created_at | updated_at |
30
+
31
+
32
+
33
+
34
+
35
+ **User.php**
14
36
 
15
37
  ```
16
38
 
39
+ public function products()
40
+
41
+ {
42
+
43
+ return $this->hasMany('App\Producdt');
44
+
45
+ }
46
+
47
+ public function favorites()
48
+
49
+ {
50
+
51
+ return $this->belongsToMany('App\Products', 'favorites');
52
+
53
+ }
54
+
55
+ ```
56
+
57
+ **Product.php**
58
+
59
+ ```
60
+
61
+ public function category()
62
+
63
+ {
64
+
65
+ return $this->belongsTo('App\Category');
66
+
67
+ }
68
+
69
+ public function favorites()
70
+
71
+ {
72
+
73
+ return $this->belongsToMany('App\Favorite', 'favorites');
74
+
75
+ }
76
+
77
+ public function user()
78
+
79
+ {
80
+
81
+ return $this->belongsTo('App\User');
82
+
83
+ }
84
+
85
+ ```
86
+
87
+ **Category.php**
88
+
89
+ ```
90
+
91
+ public function aidhias()
92
+
93
+ {
94
+
95
+ return $this->hasMany('App\Aidhia');
96
+
97
+ }
98
+
99
+ ```
100
+
101
+ **Favorite.php**
102
+
103
+ ```
104
+
105
+ class Favorite extends Model
106
+
107
+ {
108
+
109
+ //
110
+
111
+ }
112
+
113
+ ```
114
+
115
+ **web.php**
116
+
117
+ ```
118
+
119
+ Route::get('/my/favorite', 'ProductsController@myFavorite')->name('my.favorite');
120
+
121
+ ```
122
+
123
+ **ProductsController.php**
124
+
125
+ ```
126
+
127
+ public function myFavorite()
128
+
129
+ {
130
+
131
+ $user = Auth::user();
132
+
133
+ $favorites = $user->favorites;
17
134
 
18
135
 
136
+
137
+ return view('products.favoriteProducts', [
138
+
139
+ 'favorites' => $favorites,
140
+
141
+ ]);
142
+
143
+ }
144
+
145
+ ```
146
+
19
- としてもだめでした。どなたかわかる方ご教授いただきたいです。
147
+ **favoriteProducts.blade.php**
148
+
149
+ ```
150
+
151
+ <div id="app">
152
+
153
+ <favorite-products :favorites="{{$favorites}}"></favorite-products>
154
+
155
+ </div>
156
+
157
+ ```
158
+
159
+ **FavoriteProducts.vue**
160
+
161
+ ```
162
+
163
+ <div v-for="product in favorites">
164
+
165
+ {{ product.category_id }} // ここにproductsテーブルのcategory_idとリレーションしたcategoriesテーブルのnameカラムの値を表示したい
166
+
167
+ </div>
168
+
169
+
170
+
171
+ <script>
172
+
173
+ export default {
174
+
175
+ props: {
176
+
177
+ favorites: Array,
178
+
179
+ },
180
+
181
+ mounted() {
182
+
183
+ console.log('Component mounted.')
184
+
185
+ }
186
+
187
+ }
188
+
189
+ </script>
190
+
191
+ ```

1

訂正

2020/09/29 14:51

投稿

chocomint20
chocomint20

スコア1

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  この記事を参考にして、中間テーブルのリレーションを取得したのですがさらにここからリレーション先のリレーションを取得するにはどうしたらいいのでしょう。
4
4
 
5
- 例えば参考の記事で言うとimageテーブルにcategory_idというカラムがありcategoriesテーブルとリレーションしているとします。参考記事の方法でimageテーブルの情報を取得し、さらにそこからそのimageテーブルのcategory_idに紐付いたcategoriesテーブルの情報を取得するにはどのようにすればいいのでしょうか。
5
+ 例えば参考の記事で言うとimagesテーブルにcategory_idというカラムがありcategoriesテーブルとリレーションしているとします。参考記事の方法でimagesテーブルの情報を取得し、さらにそこからそのimagesテーブルのcategory_idに紐付いたcategoriesテーブルの情報を取得するにはどのようにすればいいのでしょうか。
6
6
 
7
7
  withを使い
8
8