$re['round_start_time']&& $now<$re['round_end_time']){ Log::error('开始排名'); /* * 批发商排名 * **/ // $crown=DB::table('inte_user') // ->where('tag','3')->orderByDesc('integral')->orderByDesc('id')->get(); // foreach ($crown as $k=>$v){ // DB::table('inte_user')->where('id',$v->id)->update(['rank'=>$k+1]); // } $director_c=DB::table('inte_user')->where('tag',3)->pluck('id')->toArray(); // foreach ($director as $k=>$v){ // DB::table('user')->where('id',$v->id)->update(['rank'=>$k+1,'rank_end'=>$v->rank]); // } $directors_c=implode(',',$director_c); DB::select('UPDATE inte_user JOIN (SELECT obj.id,obj.integral,@rownum := @rownum + 1 AS rownum FROM ( SELECT id, integral FROM `inte_user` where tag="3" and inte_user.id IN ('.$directors_c.') ORDER BY integral DESC ) AS obj, (SELECT @rownum := 0) r ) ranks ON (ranks.id = inte_user.id) SET inte_user.rank = ranks.rownum where inte_user.id IN ('.$directors_c.')'); // Log::error('排名结束'); // Log::error(Carbon::now()->timestamp-$now); $director=DB::table('inte_user')->where('tag',2)->pluck('id')->toArray(); // foreach ($director as $k=>$v){ // DB::table('user')->where('id',$v->id)->update(['rank'=>$k+1,'rank_end'=>$v->rank]); // } $directors=implode(',',$director); DB::select('UPDATE inte_user JOIN (SELECT obj.id,obj.integral,@rownum := @rownum + 1 AS rownum FROM ( SELECT id, integral FROM `inte_user` where tag="2" and inte_user.id IN ('.$directors.') ORDER BY integral DESC ) AS obj, (SELECT @rownum := 0) r ) ranks ON (ranks.id = inte_user.id) SET inte_user.rank = ranks.rownum where inte_user.id IN ('.$directors.')'); Log::error('排名结束'); // } } }