php - 如何在laravel 5.8中合并两个sql表

标签 php mysql sql laravel laravel-5

我正在尝试比较两个表以检查用户数据是否已存在于另一个表中。我展示了一些他们谈论 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();

引用:https://laravel.com/docs/5.8/queries

关于php - 如何在laravel 5.8中合并两个sql表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59936340/

相关文章:

mysql - 我无法使用 Python3 向 MYSQL 插入变量

python - PostgreSQL - 查询所有表的所有表列

php - 将参数从 $.post() 回调传递给外部变量

php - 重置后退按钮上的表单

php - 在 PHP 上将 Base 64 转换为音频 Mp3 格式

PHP文件上传。发布与放置?

php - 如何消除mysql显示记录的冗余

mysql - 使用自连接优化慢速 MySQL 查询

sql - 何时提交更改?

MySQL:使用if else在select语句中进行子查询