Kategoriye ait sayfalama yaıyorumbunda sıkıntı yok ama gel gelelim urldeki ?page=x kısmını yönlendiremiyorum.
Mesela domain.com/category/eglence?page=2 ye kadar sayfalama var diyelim birisi de page=3 yazdı link üzerinden bunu nasıl yönlendirebiliriz? Bu kategoriye ait yazı bulunamadı diyor mevcut kodlarda. Sayı yerine harf yazarsam ilk sayfaya yönlendiriyor. Olmayan bir sayfa sayısı verince de aynısını yapmasını istiyorum.
Route
Route::get('/category/{category}','front\homepage@categoryList')->name('category');
Controller
public function categoryList($slug){
$category= Category::where('slug',$slug)->first() ?? abort(404, "hahahahha");//linkteki kategori slug değeri ile kategorinin veritabanındaki slug değeri aynıysa devam değilse 404
$data['category'] = $category;
$articles= Article::where('category_id',$category->id)->OrderBy('created_at','DESC')->paginate(1);
$data['articles'] = $articles;
$sonsayfa = $data['articles']->lastPage();
print_r($sonsayfa);
$data['categories'] = Category::OrderBy('name')->get(); // sayfada kategori widget kullanmak için
return view('front.category_page',$data); // data içerisindekileri sayfaya yolla
}
blade php
<div class="col-lg-8 col-md-10 mx-auto">
@if (count($articles)>0)
@foreach ($articles as $article)
<div class="post-preview">
<a href="{{route('single', [$article->getCategory->slug,$article->slug] )}}">
<img src="{{$article->image}}" alt="">
<h2 class="post-title">
{{$article->title}}
</h2>
<h3 class="post-subtitle">
{{str_limit($article->content,80)}}
</h3>
</a>
<p class="post-meta">Kategori:
<a href="#">{{$article->getCategory->name}}</a>
<span class="float-right">{{$article->created_at->diffForHumans()}}</span></p>
</div>
@if (!$loop->last)
<hr>
@endif
@endforeach
<!-- Pager -->
<div class="clearfix">
{{ $articles->links() }}
</div>
@else
<div class="alert alert-danger">
<h2>Bu kategoriye ait yazı bulunamadı</h2>
</div>
@endif
</div>
@endsection