Laravel добавление номера строки к запросу - PullRequest
0 голосов
/ 23 сентября 2018

Я получаю пользователей и их баллы, упорядочиваю их по баллам и разбиваю на страницы.Теперь я хочу добавить числовую строку к результату, поэтому у первого размещенного пользователя будет num.строка 1, секунда 2 и т. д.

В настоящее время у меня есть это:

$scores=DB::table('scores')->join('users', 'users.id', '=', 'scores.user_id') 
                           ->join('sports', 'sports.id', '=', 'scores.sport_id')
                           ->join('leagues', 'leagues.id', '=', 'scores.league_id')
                           ->select('users.username','points','sports.sportName','leagues.leagueName')
                           ->orderBy($request->sort, $request->direction)->paginate(4);
return json_encode($scores);

РЕДАКТИРОВАТЬ: я использую таблицы vue 2, поэтому после того, как таблица возврата API создается автоматически, и я не могу напечататьномер строки с foreach.Ожидаемый результат будет:

Num.    Username    Points
1       test2       55
2       test5       42
3       test1       25
4       test4       5

Результат JSON:

{"data":[
    {"num":"1","username":"test2","points":22},
    {"num":"2","username":"test1","points":13},
    {"num":"3","username":"test4","points":12}
]

}

1 Ответ

0 голосов
/ 23 сентября 2018

Используйте петлю foreach():

$num = ($scores->currentPage() - 1) * $scores->perPage() + 1;

foreach($scores as $score) {
    $score->num = $num++;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...