getShadowsocksServers(), $serverService->getV2rayServers(), $serverService->getTrojanServers() ); $serverService->mergeData($servers); $tmp = array_column($servers, 'sort'); array_multisort($tmp, SORT_ASC, $servers); return response([ 'data' => $servers ]); } public function sort(Request $request) { DB::beginTransaction(); foreach ($request->input('sorts') as $k => $v) { switch ($v['key']) { case 'shadowsocks': if (!ServerShadowsocks::find($v['value'])->update(['sort' => $k + 1])) { DB::rollBack(); abort(500, '保存失败'); } break; case 'v2ray': if (!Server::find($v['value'])->update(['sort' => $k + 1])) { DB::rollBack(); abort(500, '保存失败'); } break; case 'trojan': if (!ServerTrojan::find($v['value'])->update(['sort' => $k + 1])) { DB::rollBack(); abort(500, '保存失败'); } break; } } DB::commit(); return response([ 'data' => true ]); } }