我有此代码:
$classic_games_money = DB::table('bets')
->where('user_id', $this->user->id)
->sum('price');
它显示收入金额,但是只有在winner_id
表的games
列中指示的用户ID时,我才需要显示此信息。也就是说,如何在此查询中连接另一个表?
您在这里不需要join
,exists
就足够了。我想您在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');