Laravel 在数据库查询中连接表

Laravel joining tables in a database query

我有这个代码:

$classic_games_money = DB::table('bets')
    ->where('user_id', $this->user->id)
    ->sum('price');

它显示的是收入金额,但只有在games table的winner_id列中显示的用户id才需要显示此信息。也就是说,如何在此查询中连接另一个 table?

这里不需要joinexists就够了。我猜你在 bets table.

中有 game_id
$classic_games_money = DB::table('bets')
    ->where('user_id', $this->user->id)
    ->whereExists(function ($query) {
        $query
            ->selectRaw(1)
            ->from('games')
            ->whereRaw('games.id = bets.game_id')
            ->whereRaw('games.winner_id = bets.user_id');
    })
    ->sum('price');