Server IP : 103.191.208.50 / Your IP : 216.73.216.53 Web Server : LiteSpeed System : Linux orion.herosite.pro 4.18.0-553.53.1.lve.el8.x86_64 #1 SMP Wed May 28 17:01:02 UTC 2025 x86_64 User : celkcksm ( 1031) PHP Version : 7.4.33 Disable Function : show_source, system, shell_exec, passthru, popen, exec MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/celkcksm/hrms.ncriptech.com/vendor/beyondcode/laravel-query-detector/src/Outputs/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
<?php namespace BeyondCode\QueryDetector\Outputs; use Illuminate\Support\Collection; use Symfony\Component\HttpFoundation\Response; class Console implements Output { public function boot() { // } public function output(Collection $detectedQueries, Response $response) { if (stripos($response->headers->get('Content-Type'), 'text/html') !== 0 || $response->isRedirection()) { return; } $content = $response->getContent(); $outputContent = $this->getOutputContent($detectedQueries); $pos = strripos($content, '</body>'); if (false !== $pos) { $content = substr($content, 0, $pos) . $outputContent . substr($content, $pos); } else { $content = $content . $outputContent; } // Update the new content and reset the content length $response->setContent($content); $response->headers->remove('Content-Length'); } protected function getOutputContent(Collection $detectedQueries) { $output = '<script type="text/javascript">'; $output .= "console.warn('Found the following N+1 queries in this request:\\n\\n"; foreach ($detectedQueries as $detectedQuery) { $output .= "Model: ".addslashes($detectedQuery['model'])." => Relation: ".addslashes($detectedQuery['relation']); $output .= " - You should add \"with(\'".addslashes($detectedQuery['relation'])."\')\" to eager-load this relation."; $output .= "\\n\\n"; $output .= "Model: ".addslashes($detectedQuery['model'])."\\n"; $output .= "Relation: ".addslashes($detectedQuery['relation'])."\\n"; $output .= "Num-Called: ".$detectedQuery['count']."\\n"; $output .= "\\n"; $output .= 'Call-Stack:\\n'; foreach ($detectedQuery['sources'] as $source) { $output .= "#$source->index $source->name:$source->line\\n"; } } $output .= "')"; $output .= '</script>'; return $output; } }