[Laravel连接数据库查询中的表

问题描述 投票:0回答:1

我有此代码:

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

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

php mysql laravel laravel-query-builder
1个回答
0
投票

您在这里不需要joinexists就足够了。我想您在game_id表中有bets列。

$classicGamesMoney = DB::table('bets')
    ->where('user_id', $this->user->id)
    ->whereExists(function ($query) {
        $query
            ->select(DB::raw(1))
            ->from('games')
            ->whereRaw('games.id = bets.game_id')
            ->whereRaw('games.winner_id = bets.user_id');
    })
    ->sum('price');
© www.soinside.com 2019 - 2024. All rights reserved.