【发布时间】:2017-08-13 18:46:02
【问题描述】:
有没有办法在 Laravel 5.3 中获得一个漂亮的分页 URL?
例如,默认情况下:
搜索关键字为:something new
http://localhost/project/search/something%20new?page=2
{
"total": 19,
"per_page": 5,
"current_page": 1,
"last_page": 4,
"next_page_url": "http://localhost/project/search/something%20new?page=2",
"prev_page_url": null,
"from": 1,
"to": 5,
"data": [
{
// result
}
]
}
我想得到什么:
http://localhost/project/search/?page=2
另外,分页应该以这种方式呈现,并且附加到分页应该以这种方式出现。
控制器。
public function search(Request $request)
{
$search = $request->name;
$searchValues = preg_split('/\s+/', $search, -1, PREG_SPLIT_NO_EMPTY);
$result = abcModel::where( function ($q) use ($searchValues) {
foreach ($searchValues as $value ) {
$q->orWhere('city', 'like', "%{$value}%");
$q->orWhere('country', 'like', "%{$value}%");
$q->orWhere('name', 'like', "%{$value}%");
} })
->orderby('id','desc')
->paginate(20);
return response()->json( $result );
}
路线,
Route::post('search/',array('uses' => 'abcController@search'));
请求和响应在上面..
【问题讨论】:
标签: php api pagination laravel-5.3