من از صفحه بندی لاراول استفاده کردم و تو حالت عادی مشکلی نداره
اما وقتی برای قسمت هایی که جستجو انجام میشه صفحه بندی کار نمیکنه و فقط صفحه اول رو نشون میده و صفحات بعدی رو ارور 404 میده
کد من هم اینجوری هست :
$shop=shop::findorfail($Request->shops);
$id = $Request->id ;
$name = $Request->name ;
$category = $Request->categories;
$list= $Request->list;
if($shop->productshow == 1){
if($category != null){
if($list == 1){
$products=product::
orderby('id' , 'desc')
->where( 'status', '>', '1')
->where( 'name', 'like', "%".$name."%")
->where('catpro_id', $category)
->paginate(10);
return view('user.shops.result' , compact('products' ,'shop'));
@endif
@endif
@endif
سلام، برای پاسخ به این سوال باید چندتا نکته رو با هم بررسی کنیم:
۱) چرا شما از دستورهای endif در انتها استفاده کردید؟ این دستور فقط برای قالب های blade هست و نه کنترلرهای لاراول
۲) اگر می خوایید چندتا paginate توی یه صفحه داشته باشید می تونید با دستور زیر این کار رو انجام بدید:
$products = Product::where('status', 1)
->orderBy('created_at', 'desc')
->paginate(20, ['*'], 'products');
$comments= Comment::where('status', 1)
->orderBy('created_at', 'desc')
->paginate(20, ['*'], 'comments');
داخل کد بالا ما paginate رو برای مثلا محصولات انجام دادیم ولی توی همین کنترلر باز هم می تونیم paginate انجام بدیم و دلیل اون به خاطر علامت * هست که به paginate استفاده کردیم و اسمی که گذاشتیم (product). یعنی پارامترهای دوم و سوم تابع paginate کمک می کنه تا بتونیم چندین paginate همزمان داشته باشیم. امیدوارم مشکل تون برطرف شده باشه.
به جمع هزاران کاربر اینستاگرامی روکسو بپیوندید.