這可能有一個非常簡單的解決方案,但我一直無法解決它。我需要對搜索結果進行分頁,因此當我進入下一頁時,它不會重置我的搜索結果。這是我想要分頁:Laravel - Paginate和Append搜索結果
$pets = DB:table('pets')
->where(function($q) use ($request){
$q->orWhere('name','LIKE','%'.$request->search.'%')
})
->paginate(40)
上面的代碼搜索我的數據庫。如上所示,我可以使用paginate(40)
進行分頁。例如,唯一的一點是,當我進入第二頁時,搜索重置。我想要的是將搜索應用到所有頁面。
我嘗試使用appends()
與$pets
,$q
和$request
,它們都沒有工作。我也嘗試了一些來自這裏的答案,但沒有得到任何結果。
從Laravel文檔中,我猜測,你應該使用appends()
將搜索應用到所有頁面?
編輯:
@foreach($pets as $pet)
<p>{{$pet->name}}</p>
@endforeach
分頁:
{{$pet->links()}}
AJAX調用:
$("#filter").change(function() {
$value=$(this).val();
$.ajax({
type: "get",
url: "{{$pets->name}}",
data: {'search':$value},
success: function(data){
$('#results').html(data);
}
});
});
問題是,在第二頁上你的'$ request'不包含搜索項。你使用GET還是POST? (使用GET,你會沒事的)。 – Kyslik
你能告訴我們你調用這個函數的代碼嗎? – Maraboc
@Kyslik我使用'GET'進行搜索。 – spacetravel