Как я могу сложить одно и то же значение идентификатора в Laravel - PullRequest
0 голосов
/ 04 мая 2019

Я пытаюсь найти сумму одного и того же значения идентификатора.

$tournament = Tournament::find($id);

$topTen = DB::table('match_scoreboard_batting')
            ->join('matches','match_scoreboard_batting.match_id','=','matches.id')
            ->where('matches.tournament_id',$id)
            ->select('match_scoreboard_batting.player_id','match_scoreboard_batting.runs')
            ->sum('match_scoreboard_batting.runs');
echo "<pre>";
print_r($topTen);

Я так понимаю, что сумма всех идентификаторов работает. Но как мне найти один и тот же идентификатор вместе?

Ответы [ 2 ]

0 голосов
/ 04 мая 2019

Использование sum() приведет к автоматической группировке по первичному ключу (я полагаю, здесь player_id). Если вы хотите получить сумму () каждого матча, турнира или игрока, вы должны добавить ->groupBy('some_id') в свой запрос.

0 голосов
/ 04 мая 2019

Пожалуйста, попробуйте этот запрос.

$topTen = DB::table('match_scoreboard_batting')
            ->join('matches','match_scoreboard_batting.match_id','=','matches.id')
            ->where('matches.tournament_id',$id)
            ->select('match_scoreboard_batting.player_id', \DB::raw(' sum(match_scoreboard_batting.runs) as runs'));

Вы можете использовать:

от laravel документы

DB::raw('SUM(price) as total_sales')

надеюсь, что это сработает для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...