Laravel 5.4在查询中查询

时间:2018-03-02 01:21:26

标签: mysql laravel-5.4

我实际上在做这个应用连接的SQL查询。只涉及一个表,即用户'。在这张表中,我必须计算大学每个区域有多少男性和女性,因为它有6个校区。我已经完成了这个查询,但我还想在这组数据中添加另一个查询,在每个性别的每个区域,学术等级也将被计算在内。我可以在单独的查询中执行此操作但我想最小化我的查询以至少提高加载速度,但我不知道什么是最好的使用。以下是我想要实现的示例查询结果

  1. 101区     - (男:12 ) -        (教授:1        副教授:4        助理教授:3        讲师:4)
  2. 101区     - (女:15 ) -        (教授:0        副教授:5        助理教授:2        讲师:8)
    1. 102区 - (男:8 ) -    (教授:1    副教授:2    助理教授:1    讲师:4)
  3. 102区     - (女:11 ) -        (教授:1        副教授:3        助理教授:2        讲师:5)
  4. Please View Image of Initial Output

    这是我实现的代码,但它只查询第一个条件。

    $male_group = User::where('users.gender','=','M')
                  ->where('users.r_status', 'A')
                  ->join('areas', 'users.areacode', '=', 'areas.area_code')
                  ->select(DB::raw("COUNT(users.gender) as count"),'users.areacode','users.gender','areas.area_name')
                  ->groupBy('users.gender','areas.area_name',DB::raw("users.areacode"))
                  ->paginate();
      $female_group = User::where('users.gender','=','F')
                  ->where('users.r_status', 'A')
                  ->join('areas', 'users.areacode', '=', 'areas.area_code')
                  ->select(DB::raw("COUNT(users.gender) as count"),'users.areacode','users.gender','areas.area_name')
                  ->groupBy('users.gender','areas.area_name',DB::raw("users.areacode"))
                  ->paginate();
    

0 个答案:

没有答案