Php 如何在laravel 5.8中组合两个sql表
我试图比较两个表以检查用户数据是否已经存在于另一个表中。我展示了一些帖子,他们讨论了whereRaw,但细节还不够,我试图运行查询,但我没有得到我想要的 更新 我有两张表一张是两个人之间的挑战Php 如何在laravel 5.8中组合两个sql表,php,mysql,sql,laravel,laravel-5,Php,Mysql,Sql,Laravel,Laravel 5,我试图比较两个表以检查用户数据是否已经存在于另一个表中。我展示了一些帖子,他们讨论了whereRaw,但细节还不够,我试图运行查询,但我没有得到我想要的 更新 我有两张表一张是两个人之间的挑战 Challenge Table id,user_one, user_two, data_one, data_two,winner_id 我的第二张桌子是 vote Table id, user_id, battle_id, voted_user 我想检查用户是否已经对该表进行了投票,如果是,则跳过该
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();
您可以通过使用
请参阅:连接表使结果无效。如果没有联接表,还有其他方法吗?从表1中选择*表2实际上只是交叉联接。您可以发布您得到的SQL错误吗?挑战表和投票表是如何通过哪个外键连接的?挑战id是battle_id,battle是user_one和user_two之间的,在vaotes中-user_id是投票的用户
$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();