Laravel ページネーション
解決したいこと
ここに解決したい内容を記載してください。
例)
現在LaravelでECサイトを作成しています。
商品一覧サイトで金額で絞り込みを考えています。
しかし、1ページ目は表示されるのですが、2ページ目は表示されません
解決方法を教えて下さい。
発生している問題・エラー
該当するソースコード
controller
public function serch(Request $request)
{
$brands = DB::table('brands')->orderBy('name','asc')->get();
$keyword_name = $request->name;
if(!empty($keyword_name))
{
$query = Item::query();
$items = $query->where('name','like', '%' .$keyword_name. '%')->paginate(15);
return view('home.index',compact('request','brands'))->with([
'items' => $items
]);
}
$keyword = $request->input('price');
if(!empty($keyword))
{
$query = Item::query();
$items = $query->where('price', '>', $keyword)->paginate(15);
return view('home.index',compact('request','brands'))->with([
'items' => $items
]);
}
}
view
<div class="col-2">
<form action="{{ url('serch')}}" method="post">
{{ csrf_field()}}
{{method_field('get')}}
<div class="form-group">
<input type="text" class="form-control col-md-5" placeholder="名前を入力してください" name="name">
</div>
<label>
<input type="checkbox" name="price" value="10000" {{ old('price') == '10000' ? 'checked' : '' }}> 10000</br>
<input type="checkbox" name="price" value="30000" {{ old('price') == '30000' ? 'checked' : '' }}> 30000</br>
<input type="checkbox" name="price" value="50000" {{ old('price') == '50000' ? 'checked' : '' }}> 50000
</label>
<div style="text-align:right;"><input type="submit" class="btn btn-primary col-md-5" value="検索"></div>
</form>
<div style="padding: 40.40px;line-height: 30px;">
<p>ブランド一覧</p>
@foreach ($brands as $brand)
<a href="{{ route('user.brand_show',['id'=>$brand->id]) }}" style="cursor:default;color:inherit;text-decoration:none;">
{{ $brand->name }}</br>
</a>
@endforeach
</div>
</div>
自分で試したこと
商品一覧ページでフォーム検索、金額絞り込みを使わない場合、問題なくページネーションは動きます。
2ページ目(16)個目の商品は表示されます。
なぜ、1ページ目は問題なく表示できるのに2ページ目は表示されないのでしょうか?
0