getStudy(); $logs = DB::table('audit_logs') ->leftjoin('users', 'users.id', '=', 'audit_logs.user_id') ->leftjoin('user_agents', 'user_agents.id', '=', 'audit_logs.user_agent_id') ->selectRaw('users.display_name as user_name, audit_logs.created_at as log_time, audit_logs.*, user_agents.*') ->orderByDesc('audit_logs.id') ->where('audit_logs.study_id', $study->id) ->get(); $logs->each(function ($log) { $log->category_name = Category::from($log->category)->name; $log->activity_name = Str::of(Activity::from($log->activity)->name)->slug('-')->replace('-', ' ')->ucfirst(); if (filled($log->user_agent)) { $params = [ 'Browser' => $log->browser_name, 'Device' => $log->device_type, 'Platform' => $log->platform, 'Version' => $log->browser_version, ]; $log->browser = implode("\n", array_map(fn ($label, $value) => "{$label}: {$value}", array_keys($params), $params)); } else { $log->browser = null; } }); return view('staff.audit.popup', compact('study', 'logs')); } }