回答編集履歴

3

コード例を改善

2020/04/13 11:44

投稿

Lulucom
Lulucom

スコア1899

test CHANGED
@@ -60,7 +60,7 @@
60
60
 
61
61
 
62
62
 
63
- 例. ユーザー詳細ビューで所属する部門の一覧表示する
63
+ 例. ユーザー詳細ビューで所属する部門の一覧表示する
64
64
 
65
65
 
66
66
 
@@ -70,11 +70,19 @@
70
70
 
71
71
  ```php
72
72
 
73
+ public function show($id) {
74
+
73
- // $user は対象ユーザーのインスタンスが入っいるものとする
75
+ // idをもとにユーザーを検索し取得する
76
+
77
+ $user = App\User::find($id);
74
78
 
75
79
 
76
80
 
81
+ // ユーザー詳細ビューでそれを表示する
82
+
77
- return view('users.show', ['user' => $user]);
83
+ return view('users.show', ['user' => $user]);
84
+
85
+ }
78
86
 
79
87
  ```
80
88
 
@@ -85,6 +93,8 @@
85
93
 
86
94
 
87
95
  ```php
96
+
97
+ ...
88
98
 
89
99
  <table class="table">
90
100
 
@@ -106,6 +116,8 @@
106
116
 
107
117
  </tbody>
108
118
 
119
+ </table>
120
+
109
121
  ...
110
122
 
111
123
  ```

2

コード例をアクションとビューに分けました

2020/04/13 11:44

投稿

Lulucom
Lulucom

スコア1899

test CHANGED
@@ -1,4 +1,4 @@
1
- Laravelのリレーションで[多対多](https://readouble.com/laravel/5.8/ja/eloquent-relationships.html#many-to-many)を使う場合は、以下のようにするのが一般的だと思います。
1
+ Laravelで[多対多](https://readouble.com/laravel/5.8/ja/eloquent-relationships.html#many-to-many)のリレーションう場合は、以下のようにするのが一般的だと思います。
2
2
 
3
3
 
4
4
 
@@ -42,24 +42,6 @@
42
42
 
43
43
 
44
44
 
45
- `Department`モデルに追加するリレーションメソッド
46
-
47
-
48
-
49
- ```php
50
-
51
- public function users()
52
-
53
- {
54
-
55
- return $this->belongsToMany(User::class);
56
-
57
- }
58
-
59
- ```
60
-
61
-
62
-
63
45
  `User`モデルに追加するリレーションメソッド
64
46
 
65
47
 
@@ -78,20 +60,52 @@
78
60
 
79
61
 
80
62
 
81
- 例. ユーザー所属する部門の一覧
63
+ 例. ユーザー詳細ビューで所属する部門の一覧を表示する
64
+
65
+
66
+
67
+ アクション(UserController@show)
82
68
 
83
69
 
84
70
 
85
71
  ```php
86
72
 
87
- $user = App\User::find(1);
73
+ // $user には対象ユーザーのインスタンスが入っているものとする
88
74
 
89
75
 
90
76
 
91
- foreach ($user->departments as $department) {
92
-
93
- $name = $department->name; // 部門名の取得
77
+ return view('users.show', ['user' => $user]);
94
-
95
- }
96
78
 
97
79
  ```
80
+
81
+
82
+
83
+ ビュー(users/show.blade.php)
84
+
85
+
86
+
87
+ ```php
88
+
89
+ <table class="table">
90
+
91
+ ...
92
+
93
+ <tbody>
94
+
95
+ @foreach ($user->departments as $department)
96
+
97
+ <tr>
98
+
99
+ <td>{{ $department->name }}</td>
100
+
101
+ ...
102
+
103
+ </tr>
104
+
105
+ @endforeach
106
+
107
+ </tbody>
108
+
109
+ ...
110
+
111
+ ```

1

Laravelのドキュメントへのリンクを追記

2020/04/13 04:37

投稿

Lulucom
Lulucom

スコア1899

test CHANGED
@@ -1,4 +1,4 @@
1
- Laravelのリレーションを使う場合は、以下のようにするのが一般的だと思います。
1
+ Laravelのリレーションで[多対多](https://readouble.com/laravel/5.8/ja/eloquent-relationships.html#many-to-many)を使う場合は、以下のようにするのが一般的だと思います。
2
2
 
3
3
 
4
4