Laravel 5.3上一页和下一页记录链接

问题描述 投票:1回答:1

我找到了数据库中下一个和上一个记录链接的解决方案。但是解决方案只适用于下一个记录。当我按回链接时,它显示第一个记录。你可以帮我找到一个显示最大数量的解决方案记录?

//Model file

public static function findNext($id)
{
    return static::where('id','>',$id)->first();
}
public static function findPrevious($id)
{
    return static::where('id','<',$id)->first();
}

//Controller file

public function show($id)
{
$c = C::findOrFail($id);
$nextUser = C::findNext($id);
$previousUser = C::findPrevious($id);
    return view('c.show', compact('c',$c))->with('nextUser',$nextUser)-
>with('previousUser',$previousUser);
    }

//View file

@if($previousUser)
<a href="{{ URL::to( 'c/show/' . $previousUser->id . '/previous') 
}}">Previous</a> | 
@endif
@if($nextUser)
<a href="{{ URL::to( 'c/show/' . $nextUser->id . '/next') }}">Next</a>
@endif

//Route file

Route::get('c/show/{id}', 'CController@show');
Route::get('c/show/{user}/next',function($id){
$nextUser=C::findNext($id);
return Redirect::to('c/show/'.$id);
});
Route::get('c/show/{user}/previous',function($id){
$nextUser=C::findPrevious($id);
return Redirect::to('c/show/'.$id);
});
php laravel-5.3
1个回答
0
投票

尝试使用orderBy()方法和下降方向:

public static function findPrevious($id)
{
    return static::where('id', '<', $id)
        ->orderBy('id', 'desc')
        ->first();
}
© www.soinside.com 2019 - 2024. All rights reserved.