HEX
Server: Apache/2.4.46 (Ubuntu)
System: Linux localhost 5.11.0-49-generic #55-Ubuntu SMP Wed Jan 12 17:36:34 UTC 2022 x86_64
User: root (0)
PHP: 7.4.16
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/sarvodayahospital/app/Http/Controllers/TreatmentController.php
<?php

namespace App\Http\Controllers;

use App\Models\CMSPage;
use App\Models\Doctor;
use App\Models\Speciality;
use App\Models\Treatment;

class TreatmentController extends Controller
{
    public function index()
    {
        $seo = [];

        $search = request('search');

        $treatments = Treatment::query()
            ->when($search, function ($query) use ($search) {
                $query->whereHas('speciality', function ($q) use ($search) {
                    $q->where('Slug', $search);
                });
            })
            ->get();

        $specialitiesDropdown = Speciality::whereHas('treatments')->get();

        $cmsPage = CMSPage::query()
            ->where('Slug', request()->path())
            ->firstOrFail();

        if ($cmsPage) {
            $seo = $cmsPage->seoComponent()->first();
        }

        return view('pages.treatment', compact('treatments', 'specialitiesDropdown', 'seo'));
    }

    public function show($slug)
    {
        $seo = [];
        $sp = [];

        $treatment = Treatment::query()
            ->with('faqs')
            ->with('hospitals')
            ->where('Slug', $slug)
            ->firstOrFail();

        $spo = Speciality::whereHas('treatments', function ($q) use ($slug) {
            $q->where('Slug', $slug);
        })->with('ss')->get();

        foreach ($spo as $p) {
            $sp[] = $p->Slug;
            foreach ($p->ss as $s) {
                $sp[] = $s->Slug;
            }
        }

        $doctors = Doctor::WhereHas('specialities', function ($q) use ($sp) {
            $q->WhereIn('Slug', $sp);
        })->orderByRaw('ISNULL(Weight), Weight ASC')->orderBy('Surname', 'asc')->get();

        if ($treatment) {
            $seo = $treatment->seoComponent()->first();
        }

        return view('pages.single-treatment', compact('treatment', 'seo', 'doctors'));
    }
}