File: /var/www/html/sarvodayahospital/app/Http/Controllers/RareCaseController.php
<?php
namespace App\Http\Controllers;
use App\Models\CMSPage;
use App\Models\Hospital;
use App\Models\RareCase;
use App\Models\Speciality;
use Artesaos\SEOTools\Facades\OpenGraph;
use Artesaos\SEOTools\Facades\SEOMeta;
use Illuminate\Http\Request;
class RareCaseController extends Controller
{
public function index(Request $request)
{
$hospital = $request->filled('hospital') ? $request->get('hospital') : '';
$speciality = $request->filled('speciality') ? $request->get('speciality') : '';
$seo = [];
$rarecases = RareCase::query()
->when($hospital, function ($query) use ($hospital) {
$query->whereHas('hospital', function ($query) use ($hospital) {
$query->where('Slug', $hospital);
});
})
->when($speciality, function ($query) use ($speciality) {
$query->whereHas('specialities', function ($query) use ($speciality) {
$query->where('Slug', $speciality);
});
})
->orderBy('created_at', 'DESC')
->paginate(30);
$hospitals = Hospital::query()->pluck('Slug', 'HospitalName');
$specialities = Speciality::query()->pluck('Slug', 'SpecialityName');
$cmsPage = CMSPage::query()
->where('Slug', request()->path())
->firstOrFail();
if ($cmsPage) {
$seo = $cmsPage->seoComponent()->first();
}
return view('pages.rare-case', compact('rarecases', 'hospitals', 'specialities', 'seo'));
}
public function show($slug)
{
$seo = [];
$rarecase = RareCase::query()
->with('specialities', 'doctors')
->where('Slug', $slug)
->firstOrFail();
if ($rarecase) {
$seo = $rarecase->seoComponent()->first();
}
return view('pages.single-rarecase', compact('rarecase', 'seo'));
}
}