// Don't parse API headers manually like this:$tokenWithBearer = $request->header('Authorization');$token =substr($tokenWithBearer,7);//Do this instead:$token = $request->bearerToken();
// Handles /dogs?sort=name and /dogs?sort=-nameRoute::get('dogs',function (Request $request) {// Get the sort query parameter (or fall back to default sort "name") $sortColumn = $request->input('sort','name');// Set the sort direction based on whether the key starts with -// using Laravel's Str::startsWith() helper function $sortDirection =Str::startsWith($sortColumn,'-')?'desc':'asc'; $sortColumn =ltrim($sortColumn,'-');returnDog::orderBy($sortColumn, $sortDirection)->paginate(20);});
多字段 api 升降序排列 (例如. ?sort=name,-weight)
// Handles ?sort=name,-weightRoute::get('dogs',function (Request $request) {// Grab the query parameter and turn it into an array exploded by , $sorts =explode(',', $request->input('sort',''));// Create a query $query =Dog::query();// Add the sorts one by oneforeach ($sorts as $sortColumn) { $sortDirection =Str::startsWith($sortColumn,'-')?'desc':'asc'; $sortColumn =ltrim($sortColumn,'-'); $query->orderBy($sortColumn, $sortDirection); }// Returnreturn $query->paginate(20);});