我想通过与分页一起升序或降序来执行排序
return \App\User:: paginate($request->per_page);
我如何通过类似的东西添加排序
return \App\User:: paginate($request->per_page)-sortBy(
$request->sort_field, $request->sort_order
);
bur以上失败的地方
$request->sort_order //asc or desc
以上返回错误
"asort() expects parameter 2 to be integer, string given"
答案 0 :(得分:1)
我无法在Laravel文档中看到您可以输入订单(DESC或ASC)的语法,试试这个:
if ($request->sort_order == 'asc') {
return \App\User::paginate($request->per_page)->sortBy($request->sort_field);
}
return \App\User::paginate($request->per_page)->sortByDesc($request->sort_field);
在文档中阅读更多内容:https://laravel.com/docs/5.5/collections#method-sortby
答案 1 :(得分:1)
您可以尝试类似
的内容User::orderBy($request->sort_field, $request->sort_order)->paginate($request->per_page);
来源:https://laracasts.com/discuss/channels/laravel/combining-paginate-with-orderby
答案 2 :(得分:0)
使用 Eloquent,您可以快速轻松地对数据进行排序和分页。
例如,我想对用户表中存在的所有用户进行排序。
//---Sort Ascending
$users = User::orderBy('id', 'ASC')->Paginate(10);
//---Sort Descending
$users = User::orderBy('id', 'DESC')->Paginate(10);