[Laravel8.16.0] Getメソッドのページネーション実装

View
-> pagingは $products->appends(request()->input())->links(”)とする

	<h1>Get Method Test</h1>
	<form action="/admin/show" method="get">
		<div class="form-group">
		  <label for="text1">Product:</label>
		  <div class="row">
			  <input type="text" id="text1" name="search" class="form-control col-md-2" style="margin-left:15px">
			  <input type="submit" class="btn btn-primary">
		  </div>
		</div>
	</form>
	<p>{{ $query ? '「' .$query. '」'  : '' }}<p>
	@foreach($products as $product)
	<p>{{ $product->name}}</p>
	@endforeach

	{{-- Pagination --}}
	<div class="d-flex justify-content-center">
            {!! $products->appends(request()->input())->links('') !!}
    </div>

controller
-> 部分一致は’%’.$query.’%’と書く。 %$query%と書かない様に注意

public function show(Request $request){
        $query = $request->get('search');
        if($query !== Null){
            $products = DB::table('products')->where('name', 'like', '%'.$query.'%')->Paginate(4);
        } else {
            $products = DB::table('products')->Paginate(4);
        }
        
        return view('admin.show', compact('products','query'));
    }

取り敢えずページングはOKっぽい。
続いてメール周りを整理する。Let’s Gooooooooooo