我正在尝试比较两个表以检查用户数据是否已存在于另一个表中。我展示了一些他们谈论 whereRaw 的帖子,但详细信息还不够,我尝试运行查询,但没有得到我想要的。
已更新 我有两张 table ,一张是两个人之间的挑战
Challenge Table id,user_one, user_two, data_one, data_two,winner_id
我的第二张 table 是
vote Table id, user_id, battle_id, voted_user
我想检查用户是否已经对表进行了投票,如果是,则跳过该挑战表并向用户显示剩余的表数据。
$challenges = DB::table('challenges')->whereRaw([
['challenges.user_one', '!=', $uid],
['challenges.id', '!=', 'vote.id'],
])->orWhereRaw([
['challenges.user_one', '!=', $uid],
['challenges.id', '!=', 'vote.id'],
])->get();
最佳答案
您可以通过使用crossJoin来实现它
$challenges = DB::table('challenges')->crossJoin('vote')
->where('challenges.user_one', '!=', $uid)
->where('challenges.id', '!=', 'vote.id')
->orWhere('challenges.user_one', '!=', $uid)
->orWhere('challenges.id', '!=', 'vote.id')->get();
关于php - 如何在laravel 5.8中合并两个sql表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59936340/