$users = User::select('id', 'username', 'coins', 'cut')
      ->when(request()->has('agent_tip_sum'), function ($q) {
        $q->whereHas('agentBoughts', function ($q) {
          $q->havingRaw('sum(agent_tip) > ' . request('agent_tip_sum'))
            ->groupBy('users.id');
        });
      })
      ->select('id', 'username')
      ->addSelect([
        'agent_tip_sum' => Buy::selectRaw('sum(agent_tip)')
          ->whereColumn('agent_id', 'users.id')
          ->groupBy('agent_id')
      ])
      ->where('role', 'agent')
      ->get();

    dd($users);

 

posted on 2022-01-24 17:17  jzfan  阅读(157)  评论(0编辑  收藏  举报