我正在尝试比较两个表以检查用户数据是否已在另一个表中退出。我显示了一些他们谈论whereRaw的帖子,但详细信息还不够,我尝试运行查询,但没有获得所需的信息。
更新
我有2张桌子,一张是两个人之间的挑战
Challenge Table id,user_one, user_two, data_one, data_two,winner_id
我的第二张桌子是
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();
参考:https://laravel.com/docs/5.8/queries
关于php - 如何在laravel 5.8中合并两个sql表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59936340/