Bläddra i källkod

'查询优化'

zhuchengjie 2 år sedan
förälder
incheckning
c4b6b9e382
1 ändrade filer med 3 tillägg och 3 borttagningar
  1. 3 3
      src/Services/User/UserService.php

+ 3 - 3
src/Services/User/UserService.php

@@ -11,6 +11,7 @@ namespace General\Services\User;
 
 use General\Models\User\SubscribeRecord;
 use General\Models\User\User;
+use Illuminate\Support\Facades\DB;
 
 class UserService
 {
@@ -34,11 +35,10 @@ class UserService
     {
         $query = User::leftjoin('force_subscribe_users','force_subscribe_users.uid','users.id')
             ->leftjoin('ww_external_contact_infos','ww_external_contact_infos.uid','users.id')
-            ->leftjoin('ww_corp_infos','ww_corp_infos.corp_id','ww_external_contact_infos.corp_id')
             ->select('users.*','force_subscribe_users.appid','force_subscribe_users.openid','force_subscribe_users.is_subscribed',
                 'force_subscribe_users.subscribe_time','ww_external_contact_infos.external_user_id','ww_external_contact_infos.open_external_user_id',
-                'ww_corp_infos.agent_id','ww_external_contact_infos.unionid')
-            ->where('ww_corp_infos.state','normal')
+                'ww_external_contact_infos.unionid',
+                DB::raw("(select ww_corp_infos.agent_id from ww_corp_infos where ww_corp_infos.corp_id=ww_external_contact_infos.corp_id and ww_corp_infos.state='normal') as agent_id"))
             ->where('users.distribution_channel_id',$channel_id)
             ->orderBy('id', 'desc');