Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在laravel 5.8中组合两个sql表_Php_Mysql_Sql_Laravel_Laravel 5 - Fatal编程技术网

Php 如何在laravel 5.8中组合两个sql表

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 我想检查用户是否已经对该表进行了投票,如果是,则跳过该

我试图比较两个表以检查用户数据是否已经存在于另一个表中。我展示了一些帖子,他们讨论了whereRaw,但细节还不够,我试图运行查询,但我没有得到我想要的

更新 我有两张表一张是两个人之间的挑战

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();