mgsmus wrote:Route::get('c/show/{id}', 'CController@show')->name('c.show');
Hocam farklı şekilde çözdüm:
//Model dosyası
public static function findNext($id)
{
return static::where('id','>',$id)->first();
}
public static function findPrevious($id)
{
return static::where('id','<',$id)->first();
}
//Controller dosyası
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 dosyası
@if($previousUser)
<a href="{{ URL::to( 'c/show/' . $previousUser->id . '/previous') }}">Önceki</a> |
@endif
@if($nextUser)
<a href="{{ URL::to( 'c/show/' . $nextUser->id . '/next') }}">Sonraki</a>
@endif
//Rota dosyası
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);
});
Hocam bu şekilde Sonraki linki çok güzel çalışıyor.Yalnız internetten bulduğum bu çözümde önceki sayfa linki için birşey yoktu.Ben de kafamdan mantık yürüterek önceki sayfa için fonksiyon oluşturdum ama problem çıktı.Önceki sayfaya tıkladığımda , ilk kayda yönlendiriyor.Previous için fonksiyonda first yerine last yazdığımda hata veriyor.Bir önceki kaydın en büyüğünü bulmak için bir çözüm önerebilir misiniz?Teşekkürler...