回答編集履歴

1

追記

2020/02/10 10:07

投稿

退会済みユーザー
test CHANGED
@@ -11,3 +11,95 @@
11
11
  $items = sample::where('title', 'like', '%'.$request->get('keyword').'%')->get();
12
12
 
13
13
  ```
14
+
15
+
16
+
17
+ ---
18
+
19
+
20
+
21
+ web.php
22
+
23
+
24
+
25
+ ```
26
+
27
+ @foreach (range('a', 'z') as $i)
28
+
29
+ <a href="{{ url('/posts/az') }}" name="keyword">{{ $i }}</a>
30
+
31
+ @endforeach
32
+
33
+ ```
34
+
35
+
36
+
37
+ こう設定していると、全てのリンクは `posts/az` となって `a` ~ `z` を区別するものが何も設定されていないことは理解していますか?
38
+
39
+
40
+
41
+ a を指定した時、`posts/az/a`、b なら `posts/az/b` というように、区別してアクセスしないと、コントローラーに処理を書いても意味がないですよね?
42
+
43
+
44
+
45
+ ですので、一例ですが、
46
+
47
+
48
+
49
+ web.php
50
+
51
+
52
+
53
+ ```php
54
+
55
+ Route::get('/posts/az/{initial}', 'PostsController@az')->name('posts.az');
56
+
57
+ ```
58
+
59
+
60
+
61
+ というように設定し、コントローラーでは、
62
+
63
+
64
+
65
+ ```php
66
+
67
+ class SampleController extends Controller
68
+
69
+ {
70
+
71
+ public function az(Request $request, string $initial){
72
+
73
+ $items = Sample::where('title', 'like', $initial . '%')->get();
74
+
75
+ return view('posts.test', compact('items'));
76
+
77
+ }
78
+
79
+ }
80
+
81
+ ```
82
+
83
+
84
+
85
+ となる。
86
+
87
+
88
+
89
+ また、bladeの方も仕様に合わせて、
90
+
91
+
92
+
93
+ ```php
94
+
95
+ @foreach (range('a', 'z') as $i)
96
+
97
+ <a href="{{ route('posts.az', ['initial' => $i]) }}">{{ $i }}</a>
98
+
99
+ @endforeach
100
+
101
+ ```
102
+
103
+
104
+
105
+ とでも設定しておけばよかろう。