Laravel,使用查询查找那些ID在另一个表中的ID

我有两个表,school_usersusers我需要使用Eloquent创建一个查询,使所有用户都user_id相等school_id因此结果必须超过一个用户,因此我还需要按school_id对结果进行分组

谢谢你的勇敢

关系:用户模型:

public function school()
{
    return $this->hasMany(SchoolUser::class);
}

学校用户模型:

public function user()
{
    return $this->hasMany(User::class);
}

School_users 表:

+----+---------+------------+-------------+
| id | user_id |  school_id | created_at  |
+----+---------+------------+-------------+
|  1 |   79    |    79      | <SOME TIME> |
|  2 |   85    |    79      | <SOME TIME> |
|  3 |   86    |    85      | <SOME TIME> |
|  4 |   87    |    85      | <SOME TIME> |
+----+---------+------------+-------------+

users 表:

+----+
| id | 
+----+-
|  79 | 
|  85 |
|  86 |
|  87 |    
+----+-

用户模型:

public function getUsers()
{
    return $this
        ->leftJoin('school_users', $this->table . '.id', '=', 'school_users.school_id')
        ->select(
            $this->table . '.*',
            'school_users.school_id as school_id'
        )
        ->whereIn('users.id', '=', 'school_users.school_id')
        ->orderBy('id', 'desc')
        ->get();
}
蔡可贺

使用whereColumn进行筛选user_id等于school_id

并使用join代替leftjoin

public function getUsers()
{
    return $this
    ->join('school_users', function($join) {
        $join->on('school_users.user_id', '=', $this->table.'.id')
             ->whereColumn('school_users.user_id', 'school_users.school_id');
    })
    ->select
        (

            $this->table.'.*',
            'school_users.school_id as school_id'
        ) 
    ->orderBy($this->table.'.id','desc')
    ->get();   
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Laravel如何从另一个表中使用Auth ID查询

来自分类Dev

Laravel 5.2在1个表中查询邮政编码,然后获取ID并查询另一个

来自分类Dev

如何在另一个表中查找缺少属性 ID 的记录 ID

来自分类Dev

如何从一个表中列出ID列,然后基于那些ID LINQ从另一个列中列出名称?

来自分类Dev

在一个表中查询最大日期,在另一个表中查询组ID

来自分类Dev

MySQL-通过查询另一个表中的产品ID插入表中

来自分类Dev

将 1 个表行中的多个 ID 查询到 1 个查询中的另一个表

来自分类Dev

Laravel流明另一个表的id关系

来自分类Dev

如何从另一个表中查找没有数据的 ID

来自分类Dev

从一个查询使用ID值,到另一个表中具有相同ID的对应列

来自分类Dev

如何通过单击将数据插入到两个表中,而在另一个表中使用第一个查询ID

来自分类Dev

对另一个表中的所有ID运行MySql查询

来自分类Dev

对另一个表中的所有ID运行MySql查询

来自分类Dev

从查询中过滤出 id 并在另一个查询中使用它

来自分类Dev

当一个查询中的另一个表中没有ID时全选

来自分类Dev

从另一个更新表中的ID

来自分类Dev

选择表中ID等于另一个表中另一个ID的行

来自分类Dev

选择表中ID等于另一个表中另一个ID的行

来自分类Dev

MySQL查询查找表中不存在的ID

来自分类Dev

Json响应由Laravel中另一个表的ID过滤

来自分类Dev

Laravel 5.2:数据库记录获取并检查另一个表中的ID

来自分类Dev

从关系laravel中的另一个表获取id

来自分类Dev

需要将 Laravel 表中的 id 传递给另一个刀片中的脚本

来自分类Dev

使用ID将表中的值解析为另一个表

来自分类Dev

从一个表中获取ID并使用php将其存储到另一个表中

来自分类Dev

查询以从一个查询中的另一个ID获取结果

来自分类Dev

SQL查询以获取除ID来自另一个表的数组中的ID以外的所有内容

来自分类Dev

在一个表中计算ID,在另一个表中乘以值

来自分类Dev

根据另一个表的 id 计算一个表中的行数

Related 相关文章

  1. 1

    Laravel如何从另一个表中使用Auth ID查询

  2. 2

    Laravel 5.2在1个表中查询邮政编码,然后获取ID并查询另一个

  3. 3

    如何在另一个表中查找缺少属性 ID 的记录 ID

  4. 4

    如何从一个表中列出ID列,然后基于那些ID LINQ从另一个列中列出名称?

  5. 5

    在一个表中查询最大日期,在另一个表中查询组ID

  6. 6

    MySQL-通过查询另一个表中的产品ID插入表中

  7. 7

    将 1 个表行中的多个 ID 查询到 1 个查询中的另一个表

  8. 8

    Laravel流明另一个表的id关系

  9. 9

    如何从另一个表中查找没有数据的 ID

  10. 10

    从一个查询使用ID值,到另一个表中具有相同ID的对应列

  11. 11

    如何通过单击将数据插入到两个表中,而在另一个表中使用第一个查询ID

  12. 12

    对另一个表中的所有ID运行MySql查询

  13. 13

    对另一个表中的所有ID运行MySql查询

  14. 14

    从查询中过滤出 id 并在另一个查询中使用它

  15. 15

    当一个查询中的另一个表中没有ID时全选

  16. 16

    从另一个更新表中的ID

  17. 17

    选择表中ID等于另一个表中另一个ID的行

  18. 18

    选择表中ID等于另一个表中另一个ID的行

  19. 19

    MySQL查询查找表中不存在的ID

  20. 20

    Json响应由Laravel中另一个表的ID过滤

  21. 21

    Laravel 5.2:数据库记录获取并检查另一个表中的ID

  22. 22

    从关系laravel中的另一个表获取id

  23. 23

    需要将 Laravel 表中的 id 传递给另一个刀片中的脚本

  24. 24

    使用ID将表中的值解析为另一个表

  25. 25

    从一个表中获取ID并使用php将其存储到另一个表中

  26. 26

    查询以从一个查询中的另一个ID获取结果

  27. 27

    SQL查询以获取除ID来自另一个表的数组中的ID以外的所有内容

  28. 28

    在一个表中计算ID,在另一个表中乘以值

  29. 29

    根据另一个表的 id 计算一个表中的行数

热门标签

归档