回答編集履歴
3
コード例を改善
answer
CHANGED
@@ -29,19 +29,24 @@
|
|
29
29
|
}
|
30
30
|
```
|
31
31
|
|
32
|
-
例. ユーザー詳細ビューで所属する部門の一覧
|
32
|
+
例. ユーザー詳細ビューで所属する部門の一覧も表示する
|
33
33
|
|
34
34
|
アクション(UserController@show)
|
35
35
|
|
36
36
|
```php
|
37
|
+
public function show($id) {
|
37
|
-
|
38
|
+
// idをもとにユーザーを検索して取得する
|
39
|
+
$user = App\User::find($id);
|
38
40
|
|
41
|
+
// ユーザー詳細ビューでそれを表示する
|
39
|
-
|
42
|
+
return view('users.show', ['user' => $user]);
|
43
|
+
}
|
40
44
|
```
|
41
45
|
|
42
46
|
ビュー(users/show.blade.php)
|
43
47
|
|
44
48
|
```php
|
49
|
+
...
|
45
50
|
<table class="table">
|
46
51
|
...
|
47
52
|
<tbody>
|
@@ -52,5 +57,6 @@
|
|
52
57
|
</tr>
|
53
58
|
@endforeach
|
54
59
|
</tbody>
|
60
|
+
</table>
|
55
61
|
...
|
56
62
|
```
|
2
コード例をアクションとビューに分けました
answer
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
|
|
@@ -20,30 +20,37 @@
|
|
20
20
|
...
|
21
21
|
```
|
22
22
|
|
23
|
-
`
|
23
|
+
`User`モデルに追加するリレーションメソッド
|
24
24
|
|
25
25
|
```php
|
26
|
-
public function
|
26
|
+
public function departments()
|
27
27
|
{
|
28
|
-
return $this->belongsToMany(
|
28
|
+
return $this->belongsToMany(Department::class);
|
29
29
|
}
|
30
30
|
```
|
31
31
|
|
32
|
-
|
32
|
+
例. ユーザー詳細ビューで所属する部門の一覧を表示する
|
33
33
|
|
34
|
+
アクション(UserController@show)
|
35
|
+
|
34
36
|
```php
|
35
|
-
|
37
|
+
// $user には対象ユーザーのインスタンスが入っているものとする
|
36
|
-
|
38
|
+
|
37
|
-
|
39
|
+
return view('users.show', ['user' => $user]);
|
38
|
-
}
|
39
40
|
```
|
40
41
|
|
41
|
-
|
42
|
+
ビュー(users/show.blade.php)
|
42
43
|
|
43
44
|
```php
|
44
|
-
|
45
|
+
<table class="table">
|
45
|
-
|
46
|
+
...
|
47
|
+
<tbody>
|
46
|
-
|
48
|
+
@foreach ($user->departments as $department)
|
49
|
+
<tr>
|
47
|
-
|
50
|
+
<td>{{ $department->name }}</td>
|
48
|
-
|
51
|
+
...
|
52
|
+
</tr>
|
53
|
+
@endforeach
|
54
|
+
</tbody>
|
55
|
+
...
|
49
56
|
```
|
1
Laravelのドキュメントへのリンクを追記
answer
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
|
|