find(); if (!$old_level) $old_level = [ 'grade' => 0, 'name' => '普通会员' ]; $level = self::where('grade', '>', $old_level['grade'])->where('achievement', '<=', $achievement) ->order('grade', 'desc')->find(); if ($level) { $user->level = $level['id']; $user->save(); } $pass[] = $uid; $spread = User::where('uid', $user['spread_uid'])->find(); if ($spread) return $this->checkLevel($spread['id'], $pass); return true; } }